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. Book Recommendation

Book Recommendation

Scheduled Pinned Locked Moved The Lounge
csharplearning
49 Posts 21 Posters 61 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.
  • G Gary Huck

    What about "CS 101" at your local community college or extension class?

    K Offline
    K Offline
    kalberts
    wrote on last edited by
    #41

    If that option is available, it might be a very good option. Lots of people live too far away from a college. Even if there is a local college, the course may be taught at times when you cannot leave your ordinary work. Or admission to the college requries that certain formalities are in place, e.g. that the course is available only to full time students. Finally (this might be a bigger problem in Europe than in the US): Some colleges/universities fiercely cling to the idea that Windows or anything else coming from MS is toy software - Real, Professional Software is Linux based (and with a command line interface, not a GUI). All basic courses are based on Linux and open-source software; Windows software/tools are introduced only as one of several options in courses for specializing in end user application development. Lots of newly educated bachelors and masters spend years of frustration when entering the working life, realizing how much toy software is out there, and how difficult it is to enlighten people about the blessings of Linux and command line interfaces. If your local college is of that sort, you can go there to learn Linux and C (and possibly python), but you may search in vain for C#, VS and dotNet related courses.

    E 1 Reply Last reply
    0
    • C chas_cuk

      Quote:

      The first language / environment you learn is like your first sweetheart - you'll carry joyful memories from that time for the rest of your life.

      My 'first' was BASIC and no, I don't.

      K Offline
      K Offline
      kalberts
      wrote on last edited by
      #42

      Now that you mention it... I should have qualified it: The first serious language... (I started with BASIC, too, when the language was so basic that variables were named A - Z, A0 - Z0 up to A9 - Z9. 286 numeric variables maximum, and 26 string varibables A$ - Z$. You are right: That doesn't bring up any joyful memories. In fact, I had suppressed that memory entirely.

      C 1 Reply Last reply
      0
      • G Greg Lovekamp

        I agree with much of what you say; however, I disagree with your premise that a developer doesn't need to know HOW something works. Frameworks are created and abandoned with such intense frequency today that without understanding the basics of those frameworks, it is impossible to know how to proceed forward with the maintenance of software. Far too many developers seem to believe that the software life-cycle is write brand new, leave it and move to a new project. Instead, most software lives a long time with many changes needed through the years. Unless those initial developers and the maintenance engineers who come along have a mutual understanding of HOW coding works, the changes are doomed to fail. Our industry is the current equivalent of urban development: tear down whatever currently exists and build new, over and over. That process keeps the money flowing and builders happy UNTIL there is no money to flow when the entire infrastructure breaks down. At that point, those who understand the basics survive, and those who do not become part of the unemployed masses.

        K Offline
        K Offline
        kalberts
        wrote on last edited by
        #43

        I certainly think you should know the workings of the layer you build your software on, directly below your layer, but not ten layers down. But: You should distinguish between architecture and implementation: The data structures, interactions between functions etc. are essential. If your understanding of the layer below you breaks down if the 32 bit CPU is replaced by a 36 bit CPU (are they still made?), then you have spent your resources wrongly. Or, if the layer below is re-implemented in a different language, but offering the same call interface. I am sceptical to the current trend of googling to find the call interface documentation, and start using it without knowning anything about the architecture below. If I complain, nine out of ten times someone suggests: But it is open software - you can download it and see how it works! ... No, the implementation is NOT the architecture! When you ask for an architetural drawing and is given a house, and told: You can make your own drawing of this house, can't you? then you are wasting my time. You rarely find software "architectural drawings" by googling, that which is independent of coding / implementation. I see that as a big problem. Even more I am outright scared over how large fraction of young software developers, those educated after google, appears to think it is perfectly fine. If it works, there is nothing to worry about. If not, you google for a quick fix. Ask them why that fix cured the problem, and they shrug: "Don't know, but it works now. Good enough for me!" That is not a good approach for writing robust software. And lots of software written today is not robust.

        1 Reply Last reply
        0
        • K kalberts

          If that option is available, it might be a very good option. Lots of people live too far away from a college. Even if there is a local college, the course may be taught at times when you cannot leave your ordinary work. Or admission to the college requries that certain formalities are in place, e.g. that the course is available only to full time students. Finally (this might be a bigger problem in Europe than in the US): Some colleges/universities fiercely cling to the idea that Windows or anything else coming from MS is toy software - Real, Professional Software is Linux based (and with a command line interface, not a GUI). All basic courses are based on Linux and open-source software; Windows software/tools are introduced only as one of several options in courses for specializing in end user application development. Lots of newly educated bachelors and masters spend years of frustration when entering the working life, realizing how much toy software is out there, and how difficult it is to enlighten people about the blessings of Linux and command line interfaces. If your local college is of that sort, you can go there to learn Linux and C (and possibly python), but you may search in vain for C#, VS and dotNet related courses.

          E Offline
          E Offline
          Ehsan Sajjad
          wrote on last edited by
          #44

          Thanks for the thoughts, actually the guys is already working as a government employee as a Police Officer, but he is interested to learn the software development and wants to pursue his career in it. So i was thinking to give him the direction towards .NET Technologies, i would suggest him this course to be taken online as self-paced option is provided by few web sites online.

          1 Reply Last reply
          0
          • D devenv exe

            I personally found "CLR via C# 4th Edition" very helpfull.

            "Coming soon"

            E Offline
            E Offline
            Ehsan Sajjad
            wrote on last edited by
            #45

            Yeah, that's a good one, as i myself had read first few chapters but not able to finish the book yet :)

            1 Reply Last reply
            0
            • K kalberts

              Why not go down to the basics and buy a box of transistors and a soldering iron, putting together your own machine? When my technical university started teaching computers around 197s, they actually had one computer (NORD-1) delivered as components. The professors though it a good idea that the students got hands on experience in building a computer, even though the architecture (down to the printed circuit boards) were pre-defined. Soldering it together was still considered a valuable learning experience. (I am not quite sure about the technology at that time - I believe it was a mixture of discrete transistors etc. and small scale integration chips, like the 74xxx series). The oldest machine at my university, a GIER, had one side panel that was the control logic as a matrix of feritte cores, directly accessible so you could "microcode" it by pulling the conductors through or outside each core, changing the effect of each instruction code. Something like that could be very useful for a novice that really wants to get to the roots of programming :-)

              E Offline
              E Offline
              Ehsan Sajjad
              wrote on last edited by
              #46

              Well... it depends on if someone has that much time, what i wanted was to quickly get him up to speed to start understanding about c# and start writing small programs in C#, the time constraints applied to that guy and me too.

              1 Reply Last reply
              0
              • K kalberts

                Now that you mention it... I should have qualified it: The first serious language... (I started with BASIC, too, when the language was so basic that variables were named A - Z, A0 - Z0 up to A9 - Z9. 286 numeric variables maximum, and 26 string varibables A$ - Z$. You are right: That doesn't bring up any joyful memories. In fact, I had suppressed that memory entirely.

                C Offline
                C Offline
                chas_cuk
                wrote on last edited by
                #47

                I can't say I have many fond memories of the languages I subsequently worked with: Fortran, Coral and Pascal. It was only when I got to use C, fairly late in my career, that I started to feel at home.

                1 Reply Last reply
                0
                • L Lost User

                  megaadam wrote:

                  what a stack is

                  A plate of pancakes?

                  D Offline
                  D Offline
                  Dr Walt Fair PE
                  wrote on last edited by
                  #48

                  Don{t mind if I do! Please pass the syrup Regards, Walt

                  CQ de W5ALT

                  Walt Fair, Jr., P. E. Comport Computing Specializing in Technical Engineering Software

                  L 1 Reply Last reply
                  0
                  • D Dr Walt Fair PE

                    Don{t mind if I do! Please pass the syrup Regards, Walt

                    CQ de W5ALT

                    Walt Fair, Jr., P. E. Comport Computing Specializing in Technical Engineering Software

                    L Offline
                    L Offline
                    Lost User
                    wrote on last edited by
                    #49

                    Fresh lemon juice and a light sprinkling of white sugar; never syrup.

                    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