Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. New Generation does not realy understand computers

New Generation does not realy understand computers

Scheduled Pinned Locked Moved The Lounge
c++data-structurestutorialloungelearning
43 Posts 29 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R Roger Wright

    I have no idea, but I'm happy to report that, having spent two evenings on the project, I'm now parsing like a demon all the quirky input .csv files I have to import to my latest project. :-D

    Will Rogers never met me.

    J Offline
    J Offline
    JasonPSage
    wrote on last edited by
    #21

    Cool. Now save that code; and add it to your toolbox for the next go around. Knowing HOW is actually more important than doing it daily. At least that way regardless of the system you happen to be forced to work with - you understand the problem and know the basics of how to solve it. This is along the lines of software pattern recognition. Helps to know as many "patterns" as possible.

    Know way too many languages... master of none!

    S 1 Reply Last reply
    0
    • A Abu Mami

      Uh - hexadecimal arithmetic anyone?

      J Offline
      J Offline
      JasonPSage
      wrote on last edited by
      #22

      I just convert to binary or decimal... before performing the math... though I could probably work through carrying a 1 on a base 16 $f + 1 = $10 :)

      Know way too many languages... master of none!

      1 Reply Last reply
      0
      • W wout de zeeuw

        To some extent it's understandable, what's the chance you have to write an RPN Stack in a real world project? I've even never seen one in my 15 year career. With the number of technologies expanding every day you have to be selective about what you're learning. In today's world I'd stick with knowing how to design a class model (know about is/has relationships), database connectivity, serializing data, building web/non-web interfaces and web services.

        Wout

        J Offline
        J Offline
        JasonPSage
        wrote on last edited by
        #23

        Here Here - good points!

        Know way too many languages... master of none!

        1 Reply Last reply
        0
        • M Marc Clifton

          Bram van Kampen wrote:

          Why are the basics No longer taught!

          Because MFC, .NET, Silverlight, Wxx, etc., are all supposed to do the thinking for you? ;) Marc

          J Offline
          J Offline
          JasonPSage
          wrote on last edited by
          #24

          MFC, .Net, Silverlight are very targeted programming systems; all from one vendor. I find by developing with more than one vendor's technology and more than one OS my exposure to things and understanding increases greatly. Things learned in one often help when using another. Example: I've done a ton of low level IP communication; but not in .Net.. I pick up .Net to do similiar task and I knew what to hunt for, the pieces I'd need.. and within an hour.. code was working fine... with a modification to the .Net config file so that .Net wasn't expecting Microsoft "style" protocall packets... but yeah.. got it working. --Jason

          Know way too many languages... master of none!

          1 Reply Last reply
          0
          • L leonej_dt

            I have the very inverse problem. I seldom have trouble learning new programming languages and understanding programming constructs, but learning frameworks takes me forever. --- Btw, my standard for "having actually learnt a programming language" means... 1. Understanding all language constructs, especially those that allow you to deal with code/references to code as data: function pointers, function parameters, delegates, metaclasses (à la Delphi's TClass), lambdas, closures, etc. 2. Implementing efficiently a mini-framework abstracting the following data types: vector, simple linked list, double linked list, stack, queue, binary search tree, AVL tree, red-black tree, generic B-tree, hash table, dense matrix, dense graph, sparse graph, sparse matrix, in that order. (Of course, if the language provides built-in versions of some of these data types, I will just use them and not bother implementing them myself.) And only then do I bother learning frameworks. And still does learning frameworks take me longer.

            Eduardo León

            J Offline
            J Offline
            JasonPSage
            wrote on last edited by
            #25

            And this is exactly why I personally don't jump on every new thing that comes out. You can never master a framework if you keep switching all the time.. Note my signature's sentiment is similar. --Jason

            Know way too many languages... master of none!

            1 Reply Last reply
            0
            • A AspDotNetDev

              Marc Clifton wrote:

              Because MFC, .NET, Silverlight, Wxx, etc., are all supposed to do the thinking for you?

              Those who think think to let others do the thinking for them. :rolleyes: Seriously, though, given that it's impossible to learn everything (our brains are surprisingly tiny), it seems wise to focus only on what will get the job done. Leaders delegate thinking to specialists and good programmers delegate low-level work to frameworks.

              [Forum Guidelines]

              H Offline
              H Offline
              hairy_hats
              wrote on last edited by
              #26

              aspdotnetdev wrote:

              our brains are surprisingly tiny

              Speak for yourself! What's this "our"? ;P

              1 Reply Last reply
              0
              • J JasonPSage

                Cool. Now save that code; and add it to your toolbox for the next go around. Knowing HOW is actually more important than doing it daily. At least that way regardless of the system you happen to be forced to work with - you understand the problem and know the basics of how to solve it. This is along the lines of software pattern recognition. Helps to know as many "patterns" as possible.

                Know way too many languages... master of none!

                S Offline
                S Offline
                Super Lloyd
                wrote on last edited by
                #27

                I kind of give on MFC too! What's the point with all these beautiful C# API! :)

                A train station is where the train stops. A bus station is where the bus stops. On my desk, I have a work station.... _________________________________________________________ My programs never have bugs, they just develop random features.

                J 1 Reply Last reply
                0
                • S Super Lloyd

                  I kind of give on MFC too! What's the point with all these beautiful C# API! :)

                  A train station is where the train stops. A bus station is where the bus stops. On my desk, I have a work station.... _________________________________________________________ My programs never have bugs, they just develop random features.

                  J Offline
                  J Offline
                  JasonPSage
                  wrote on last edited by
                  #28

                  MFC - Allows building applications that are truly binary; Binary Apps - Run Faster Binary Apps - More Secure Than Scripted Solutions Binary Apps - No Lag waiting for JUST-IN-TIME compiler to kick in. Natural Obfuscation of Source code.. Still reversable perhaps - but much more difficult as Assembly is what you get back; not C++ MFC - 3rd Party Vendors have C++ libraries for other popular OS that allows you to write MFC code that can be compiled for said OS's - .Net not far behind however MFC - Applications are faster, leaner, and highly flexible MFC - Applications have a small footprint and leverage code libraries that have been available on and for the os it self: Microsoft Windows - for many versions. MFC - Has a smaller footprint than .Net for infrastructure that would make for leaner and faster mobile phone applications on Microsoft mobile platforms - if they continue to support MFC that is. Just some thoughts on why bother...

                  Know way too many languages... master of none!

                  E R 2 Replies Last reply
                  0
                  • M Mycroft Holmes

                    Because the basics as you call them are not required to build business applications which is where most developers are focused on (you can include me in that group). What surprises me is that you got 15 applicants (unless you went through an agency of course then 15 would seem low but the quality is about right).

                    Never underestimate the power of human stupidity RAH

                    B Offline
                    B Offline
                    Brad Stiles
                    wrote on last edited by
                    #29

                    Agreed. For the vast majority of applications being developed, those "basics" are completely unnecessary, given that the languages in common use have all wrapped and encapsulated them to the point where you just call a few methods that do what 95% of applications need. I tend to agree that it's useful to know some of those basics, and even farther down the stack the OP brings up, but it's no longer essential, as it once might have been. Few people need to know how the registers on the CPU are used, virtually no one needs to know what happens when a read is made from a disk, and nobody really cares what the pin out is on a printer cable. We manage to produce value just the same.

                    Currently reading: "The Prince", by Nicolo Machiavelli

                    1 Reply Last reply
                    0
                    • J JasonPSage

                      MFC - Allows building applications that are truly binary; Binary Apps - Run Faster Binary Apps - More Secure Than Scripted Solutions Binary Apps - No Lag waiting for JUST-IN-TIME compiler to kick in. Natural Obfuscation of Source code.. Still reversable perhaps - but much more difficult as Assembly is what you get back; not C++ MFC - 3rd Party Vendors have C++ libraries for other popular OS that allows you to write MFC code that can be compiled for said OS's - .Net not far behind however MFC - Applications are faster, leaner, and highly flexible MFC - Applications have a small footprint and leverage code libraries that have been available on and for the os it self: Microsoft Windows - for many versions. MFC - Has a smaller footprint than .Net for infrastructure that would make for leaner and faster mobile phone applications on Microsoft mobile platforms - if they continue to support MFC that is. Just some thoughts on why bother...

                      Know way too many languages... master of none!

                      E Offline
                      E Offline
                      englebart
                      wrote on last edited by
                      #30

                      I thought Windows Phone 7 only supported managed code (for now), that does not mean that MS will change their mind. Also, don't forget the negatives of MFC vs. managed. Bad pointers! memory leaks, etc. I did not think that MFC offered too much advantage over the native Windows API. I did prefer the message maps over the old giant switch statements, but you also payed a lot of over head for the map lookup.

                      J 1 Reply Last reply
                      0
                      • Richard Andrew x64R Richard Andrew x64

                        Do you mean they did not know how to write a lexer and parser?

                        Z Offline
                        Z Offline
                        ZacM0981
                        wrote on last edited by
                        #31

                        I wrote a nice lexer/parser/compiler for my MSCS but I never used that skill beyond that. I learned a lot but just like a lot of the data structures, algorithm analysis hardware architecture, it's great to know and gives you an appreciation of how things work but does not really apply to what you are being paid to do. And who has the time to keep going back over that stuff if you aren't using it on a daily basis?

                        1 Reply Last reply
                        0
                        • J JasonPSage

                          MFC - Allows building applications that are truly binary; Binary Apps - Run Faster Binary Apps - More Secure Than Scripted Solutions Binary Apps - No Lag waiting for JUST-IN-TIME compiler to kick in. Natural Obfuscation of Source code.. Still reversable perhaps - but much more difficult as Assembly is what you get back; not C++ MFC - 3rd Party Vendors have C++ libraries for other popular OS that allows you to write MFC code that can be compiled for said OS's - .Net not far behind however MFC - Applications are faster, leaner, and highly flexible MFC - Applications have a small footprint and leverage code libraries that have been available on and for the os it self: Microsoft Windows - for many versions. MFC - Has a smaller footprint than .Net for infrastructure that would make for leaner and faster mobile phone applications on Microsoft mobile platforms - if they continue to support MFC that is. Just some thoughts on why bother...

                          Know way too many languages... master of none!

                          R Offline
                          R Offline
                          Ron Nicholson
                          wrote on last edited by
                          #32

                          Are MFC Applications that much faster to build than using the Win32 API? I have written a hand full (by hand full I mean 4 or 5) of MFC apps and would prefer the straight Win32 API. Perhaps I just haven't given MFC a chance. Course Win32 is just that Windows, but I didn't realize MFC could be compiled for other OSs.

                          J 1 Reply Last reply
                          0
                          • B Bram van Kampen

                            We had occasion of late to write a small interpreter, complete with expression evaluation, i.e. a RPN Stack. These things are mostly already hidden inside the nuts and bolts of compilers and interpretors. Meet a Custom Stack, and, No, You have to write your own! We advertised a position for an MFC/CPP Program writer, with learning experience of MFC and the general Windows Interface. None of our fifteen contestants knew how to scan an input file, never mind how to parse one. All passed with glowing terms in the various MS Certification schemes. Why are the basics No longer taught! Regards

                            Bram van Kampen

                            M Offline
                            M Offline
                            M i s t e r L i s t e r
                            wrote on last edited by
                            #33

                            I think the software world is heading down two different paths: 1. Infrastructure software 2. Other software 1. Infrastructure software will be the software that is used to create other software Infrastructure software will be written in C++ or some other "tough" language to program in ... or have design patterns and data structure implementation that the general programming public doesn't know to (or doesn't care to) program. 2 will be easy to use and available for the "masses"... Just look at VB... already started down that path... try to debug a COM object in VB... yeah right. but consume a COM object and you are on your way in 30 seconds... Dumb it down so people with minimum education can program cheaply... that's what business wants NOTICE... I said wants... not what they need. that is a different story.

                            1 Reply Last reply
                            0
                            • B Bram van Kampen

                              We had occasion of late to write a small interpreter, complete with expression evaluation, i.e. a RPN Stack. These things are mostly already hidden inside the nuts and bolts of compilers and interpretors. Meet a Custom Stack, and, No, You have to write your own! We advertised a position for an MFC/CPP Program writer, with learning experience of MFC and the general Windows Interface. None of our fifteen contestants knew how to scan an input file, never mind how to parse one. All passed with glowing terms in the various MS Certification schemes. Why are the basics No longer taught! Regards

                              Bram van Kampen

                              R Offline
                              R Offline
                              Rosenne
                              wrote on last edited by
                              #34

                              Even nostalgia isn't any more what it used to be.

                              1 Reply Last reply
                              0
                              • S Super Lloyd

                                I can't write an MFC application :sigh: I tried many years ago, and maybe I was spoiled by NeXT / ObjectiveC at the time (and then later Java) but I found it way too difficult! :(( Maybe I should try again, the maturity will help perhaps?!

                                A train station is where the train stops. A bus station is where the bus stops. On my desk, I have a work station.... _________________________________________________________ My programs never have bugs, they just develop random features.

                                A Offline
                                A Offline
                                Alan Balkany
                                wrote on last edited by
                                #35

                                MFC is way harder than it should be. I've come to the conclusion that it's mainly because the documentation is inadequate. Look up an MFC topic and the documentation you get is lacking in both depth and breadth. Much functionality isn't even discussed in the abbreviated documentation, and the context, i.e. HOW it's used is barely touched on in the simplistic example. One quick example: Using the documentation of CDC::CreateCompatibleDC () (http://msdn.microsoft.com/en-us/library/kwxzck32%28VS.80%29.aspx[^]), how do you use this to work with an 8-bit-per-pixel bitmap? THERE'S ABSOLUTELY NO CLUE! Sure, it's POSSIBLE, but it's a goddamn research project to do something that should only take a few minutes with adequate documentation. I find this to be true in general for Microsoft documentation.

                                M J 2 Replies Last reply
                                0
                                • B Bram van Kampen

                                  We had occasion of late to write a small interpreter, complete with expression evaluation, i.e. a RPN Stack. These things are mostly already hidden inside the nuts and bolts of compilers and interpretors. Meet a Custom Stack, and, No, You have to write your own! We advertised a position for an MFC/CPP Program writer, with learning experience of MFC and the general Windows Interface. None of our fifteen contestants knew how to scan an input file, never mind how to parse one. All passed with glowing terms in the various MS Certification schemes. Why are the basics No longer taught! Regards

                                  Bram van Kampen

                                  J Offline
                                  J Offline
                                  Jasmine2501
                                  wrote on last edited by
                                  #36

                                  Dude... the basics were never taught. Languages are taught - programming is not. It is an instinct, and some people are born with it and some people aren't. The problem you're seeing today is, it's possible for someone without the instinct, to just work really hard and get a CS degree - now they have degrees in subjects they really don't know... which only makes them the same as every other college grad out there. This isn't a new issue. In the 80s it was "why don't people know basic electronics" - what? You can't build a flip-flop multi-vibrator with these paper clips?!

                                  1 Reply Last reply
                                  0
                                  • R Ravi Bhavnani

                                    Bram van Kampen wrote:

                                    None of our fifteen contestants knew how to scan an input file, never mind how to parse one.

                                    Is it fair to say none of these 15 have a CS degree from a decent CS program?  Even the most basic course in compiler construction would require the student to create a parse tree for a formal language. /ravi

                                    My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com

                                    R Offline
                                    R Offline
                                    Ron Richins
                                    wrote on last edited by
                                    #37

                                    Everyone here, raise your hand if you even "..care.." about compiler construction. How many hands did you count? Me too, just you. If that is your cup of worms, try Microsoft, Borland, Google, and... .

                                    R G 2 Replies Last reply
                                    0
                                    • R Ron Richins

                                      Everyone here, raise your hand if you even "..care.." about compiler construction. How many hands did you count? Me too, just you. If that is your cup of worms, try Microsoft, Borland, Google, and... .

                                      R Offline
                                      R Offline
                                      Ravi Bhavnani
                                      wrote on last edited by
                                      #38

                                      Ron Richins wrote:

                                      if you even "..care.." about compiler construction

                                      I think you may have missed the point.  It's the same reason it's important to have studied the concepts of assembly language, although only a small percentage of folks program in it on a daily basis.  The same goes for the subject of geometry. /ravi

                                      My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com

                                      1 Reply Last reply
                                      0
                                      • E englebart

                                        I thought Windows Phone 7 only supported managed code (for now), that does not mean that MS will change their mind. Also, don't forget the negatives of MFC vs. managed. Bad pointers! memory leaks, etc. I did not think that MFC offered too much advantage over the native Windows API. I did prefer the message maps over the old giant switch statements, but you also payed a lot of over head for the map lookup.

                                        J Offline
                                        J Offline
                                        JasonPSage
                                        wrote on last edited by
                                        #39

                                        Windows Phone 7 probably does. Too bad.

                                        Know way too many languages... master of none!

                                        1 Reply Last reply
                                        0
                                        • R Ron Nicholson

                                          Are MFC Applications that much faster to build than using the Win32 API? I have written a hand full (by hand full I mean 4 or 5) of MFC apps and would prefer the straight Win32 API. Perhaps I just haven't given MFC a chance. Course Win32 is just that Windows, but I didn't realize MFC could be compiled for other OSs.

                                          J Offline
                                          J Offline
                                          JasonPSage
                                          wrote on last edited by
                                          #40

                                          No - I'm basically saying .Net - Last Choice, MFC - is at least Binary in the end. Direct using C++ or Pascal or whatever to get at Windows API itself? Preferred! :) Managed? Eh... Binary? Ya! :)

                                          Know way too many languages... master of none!

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups