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. First programming language for high school students?

First programming language for high school students?

Scheduled Pinned Locked Moved The Lounge
c++question
119 Posts 82 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.
  • I I cant do that Dave

    I don't want to start a religious war here or have to wade through a history of computer languages. I would have posted on /. for that! My 15 year old son (ninth grade) wants me to teach him programming. I don't want to traumatize him with assembler -- dealing with me should be sufficient. What would be a good first language to use? We both think a barebones implementation of Life (John Conway's ...) could be a good first project. Source code should be available in virtually every language for every possible platform. He's looked at Scratch and MindStorms. He thinks they are too simplistic and wants something that is deeper. (I know MindStorms has C++, etc., but the Lego platform isn't inspiring him.). And, I don't even know if either Scratch or MindStorms is up to the task of Life. Next up might be Micropolis (SimCity) although that could be a bit daunting. Development platforms can be XP or OS X. Thanks all, David

    S Offline
    S Offline
    Stephen Hewitt
    wrote on last edited by
    #13

    I tend to think that it's better to learn from the bottom up, but it probably varies from individual to individual. I’m not suggesting you get carried away with this and start with assembler (when I started I didn’t even use an assembler but rather a monitor) but I do think that some understanding of the low level details makes you a better programmer, even when you’re using high-level languages. I’d probably go with C or C++. If C++ is used remember that you don’t have to learn the whole thing in one go; you can skip things like templates for example.

    Steve

    C 1 Reply Last reply
    0
    • I I cant do that Dave

      I don't want to start a religious war here or have to wade through a history of computer languages. I would have posted on /. for that! My 15 year old son (ninth grade) wants me to teach him programming. I don't want to traumatize him with assembler -- dealing with me should be sufficient. What would be a good first language to use? We both think a barebones implementation of Life (John Conway's ...) could be a good first project. Source code should be available in virtually every language for every possible platform. He's looked at Scratch and MindStorms. He thinks they are too simplistic and wants something that is deeper. (I know MindStorms has C++, etc., but the Lego platform isn't inspiring him.). And, I don't even know if either Scratch or MindStorms is up to the task of Life. Next up might be Micropolis (SimCity) although that could be a bit daunting. Development platforms can be XP or OS X. Thanks all, David

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

      I would say C# But don't underestimate a motivated teenager, he could tackle anything if he is rewareded with (relatively) fast result!

      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.

      1 Reply Last reply
      0
      • I I cant do that Dave

        I don't want to start a religious war here or have to wade through a history of computer languages. I would have posted on /. for that! My 15 year old son (ninth grade) wants me to teach him programming. I don't want to traumatize him with assembler -- dealing with me should be sufficient. What would be a good first language to use? We both think a barebones implementation of Life (John Conway's ...) could be a good first project. Source code should be available in virtually every language for every possible platform. He's looked at Scratch and MindStorms. He thinks they are too simplistic and wants something that is deeper. (I know MindStorms has C++, etc., but the Lego platform isn't inspiring him.). And, I don't even know if either Scratch or MindStorms is up to the task of Life. Next up might be Micropolis (SimCity) although that could be a bit daunting. Development platforms can be XP or OS X. Thanks all, David

        M Offline
        M Offline
        maksim310
        wrote on last edited by
        #15

        COnsidering I'm 20 and learned my first computer language in high school by taking a community college class. I think VB.NET is the way to go. I eventually took courses in C, C++, and C# and think VB.NET is the best. I've worked (and still work) in research and corporate and realized that knwoing the .NET framework is very very important. Your son will enjoy the idea of easily building a user interface and the intelliSense will help him in learning. Plus, chicks dig guys who know .NET. -Max

        E L 2 Replies Last reply
        0
        • I I cant do that Dave

          I don't want to start a religious war here or have to wade through a history of computer languages. I would have posted on /. for that! My 15 year old son (ninth grade) wants me to teach him programming. I don't want to traumatize him with assembler -- dealing with me should be sufficient. What would be a good first language to use? We both think a barebones implementation of Life (John Conway's ...) could be a good first project. Source code should be available in virtually every language for every possible platform. He's looked at Scratch and MindStorms. He thinks they are too simplistic and wants something that is deeper. (I know MindStorms has C++, etc., but the Lego platform isn't inspiring him.). And, I don't even know if either Scratch or MindStorms is up to the task of Life. Next up might be Micropolis (SimCity) although that could be a bit daunting. Development platforms can be XP or OS X. Thanks all, David

          E Offline
          E Offline
          EHaskins
          wrote on last edited by
          #16

          I started teaching myself to program in .net when I was 10 or 11, so I think I know what I'm talking about. I should probably say that I had used the Lego Mindstorms products previously(about a year), but at that point I didn't know how to use an If, so I don't know if that counts as programming experience. I've also had to teach several people( ages 12 to 17 ) basic programming skills, and my big suggestions are: 1) Don't start with a project! If you do everybody just gets overwhelmed. 2) I think .net in general is a good first platform, and VB.net in specific is fantastic. Don't worry about learning the C/C# syntax, yet. Once they get started, let them read code samples(some in C#), and they'll pick it up fast. This is generally the way I go about teaching others. 1) FizzBuzz. Start with command line programs. You can write some fun games, or tools, very quickly, and you learn all of the language features very quickly without having to learn the GUI tools first. These early apps should be simple enough that you won't need to use any real debugging tools to make them work. If nothing else things like FizzBuzz are good projects. Your first few apps should not have to deal with DBs, file system, configuration, ect. These are concepts which just confuse most people, and when you're just learning the syntax and basic framework features you really don't need more complexity. 2) Simple Project Once they have a good grasp of language features, you can start a project(simple, fun games work good.). You should try to have the first project be able to be completed within 6-12 hours. Don't spend time to architect it early. Let them design it even if it sucks. If it falls apart, talk about what happened and why it failed, then pick another topic and start again. This is where you start introducing the debugging capabilities of your tools. Even if you can see the problem by reading the code you should teach them how to use the tools, and then show them how you could see it. That serves the dual purpose of teaching the debugging tools and teaching how to ID errors without tools. Once, or if, the project gets functional you can use it to introduce factoring tools. Its good if you can then expand the project with some simple features which you never planned for. This usually means refactoring and significant debugging, since very few people write even half decent code their first time. 3) Real Project Start a real project which may take some time. Use proper source control, and m

          P 1 Reply Last reply
          0
          • M maksim310

            COnsidering I'm 20 and learned my first computer language in high school by taking a community college class. I think VB.NET is the way to go. I eventually took courses in C, C++, and C# and think VB.NET is the best. I've worked (and still work) in research and corporate and realized that knwoing the .NET framework is very very important. Your son will enjoy the idea of easily building a user interface and the intelliSense will help him in learning. Plus, chicks dig guys who know .NET. -Max

            E Offline
            E Offline
            EHaskins
            wrote on last edited by
            #17

            "Plus, chicks dig guys who know .NET." I'd like to meet some of them. ;)

            Total geek! :)

            M L 2 Replies Last reply
            0
            • J Joe Woodbury

              I actually say C using C++. A good programmer needs to learn the basic procedural aspects of programming which lie at the heart of everything. Until those basic leaps of logic are made, everything else doesn't matter. Another advantage of C/C++ is how much it reflects how a computer fundamentally works. I've been increasingly disappointed with new developers who've only worked with highly abstract languages. Among other things, they don't seem to understand how computers even work and that's reflected in their code. (My greatest leap forward in programming was when I suddenly "got" assembly language. I'd just taken an Z-80 assembly class and was writing some 6502 code when all the confusing stuff ceased to be confusing. I taught myself C in three days because it was simply a great macro-assembler [C pointers didn't confuse me because I understood how assembly worked.])

              Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke

              modified on Tuesday, July 1, 2008 11:26 PM

              C Offline
              C Offline
              Chris Austin
              wrote on last edited by
              #18

              So true. I've said this many times but it seems that few care anymore.

              Sovereign ingredient for a happy marriage: Pay cash or do without. Interest charges not only eat up a household budget; awareness of debt eats up domestic felicity. --Lazarus Long

              1 Reply Last reply
              0
              • I I cant do that Dave

                I don't want to start a religious war here or have to wade through a history of computer languages. I would have posted on /. for that! My 15 year old son (ninth grade) wants me to teach him programming. I don't want to traumatize him with assembler -- dealing with me should be sufficient. What would be a good first language to use? We both think a barebones implementation of Life (John Conway's ...) could be a good first project. Source code should be available in virtually every language for every possible platform. He's looked at Scratch and MindStorms. He thinks they are too simplistic and wants something that is deeper. (I know MindStorms has C++, etc., but the Lego platform isn't inspiring him.). And, I don't even know if either Scratch or MindStorms is up to the task of Life. Next up might be Micropolis (SimCity) although that could be a bit daunting. Development platforms can be XP or OS X. Thanks all, David

                X Offline
                X Offline
                XXshadowXX
                wrote on last edited by
                #19

                I'd say C++ or Java. Java is becoming a very popular language, and is used heavily in web infrastructure. And, seeing as things seem to be going the "web" way, I'd definitely teach him Java. Or, If you want to teach him some old-school C++, that's great too. Another really good reason to teach him Java, is it is cross-platform. Anything he writes will not need to be ported in any specific way. So, if he ever decides to pick up Linux, Unix, or Mac OS X, etc, his coding won't require any new libraries. And him using VB.NET, or .NET or Visual * in general limits him to Windows. Vendor-Locking is BAD! X| So, yeah, Java! :-D

                1 Reply Last reply
                0
                • E EHaskins

                  "Plus, chicks dig guys who know .NET." I'd like to meet some of them. ;)

                  Total geek! :)

                  M Offline
                  M Offline
                  maksim310
                  wrote on last edited by
                  #20

                  You just gotta intriduce yourself not like: "Hi, I'm Mike. I design workflow models using WF on .NET Framework 3.5" But more like: "Hey baby, I just made an application that can make sure your Gucci shoes get to your apartment on time. I gotta go take care of a meeting, kick some ass, show them who the boss is. But give me your number and I'll hit you up later today." Side note #1: DO NOT WEAR short sleeve button down shirts. Side note #2: DO NOT WEAR military style boots, chicks don't dig that stuff. Side note #3: DO NOT TALK ABOUT .NET -Good Luck *and girls on CP, show some love. :rose:

                  E 1 Reply Last reply
                  0
                  • L Lost User

                    I can't do that Dave. wrote:

                    My 15 year old son (ninth grade) wants me to teach him programming.

                    If you are doing the teaching, I would choose a language that you know back-to-front - nothing worse at that sort of age than a teacher learning along with the student. Also, instant gratification is good at that age (!) so something GUI has the appeal of getting something visual up and running quickly. I taught basic VB .Net to students of this age at school - and those with at least 1/2 a logical brain picked it up pretty well - but they really needed to see something happening quickly. If I were you, I'd write a simple game of Life in whatever lanbguage first, so you have something to show - then you can take him through the development step by step. I personally think that this is not too young an age to introduce OO concepts too - so teaching OO development can make more sense if it is introduced early. If you produce the basic model, with appropriate classes - then when he gives it a go, there's always something to compare his results to, and to help out if he's stuck.

                    Take a chill pill, Daddy-o .\\axxx (That's an 'M')

                    R Offline
                    R Offline
                    Rayman Wu
                    wrote on last edited by
                    #21

                    maxxx# wrote:

                    Also, instant gratification is good at that age (!) so something GUI has the appeal of getting something visual up and running quickly.

                    I couldn't agree more. The language selected should be concise and RAD-enabled. C# is that kind of language.

                    History repeats itself.

                    L U 2 Replies Last reply
                    0
                    • I I cant do that Dave

                      I don't want to start a religious war here or have to wade through a history of computer languages. I would have posted on /. for that! My 15 year old son (ninth grade) wants me to teach him programming. I don't want to traumatize him with assembler -- dealing with me should be sufficient. What would be a good first language to use? We both think a barebones implementation of Life (John Conway's ...) could be a good first project. Source code should be available in virtually every language for every possible platform. He's looked at Scratch and MindStorms. He thinks they are too simplistic and wants something that is deeper. (I know MindStorms has C++, etc., but the Lego platform isn't inspiring him.). And, I don't even know if either Scratch or MindStorms is up to the task of Life. Next up might be Micropolis (SimCity) although that could be a bit daunting. Development platforms can be XP or OS X. Thanks all, David

                      C Offline
                      C Offline
                      Chris Austin
                      wrote on last edited by
                      #22

                      I'd guess I'd ask what is his demeanor? Would he be willing to put up with learning how a computer works and not lose interest? If so, I'd string him along with something like asm or c. If he needs immediate gratification then I'd look at a python or C#.

                      Sovereign ingredient for a happy marriage: Pay cash or do without. Interest charges not only eat up a household budget; awareness of debt eats up domestic felicity. --Lazarus Long

                      1 Reply Last reply
                      0
                      • M maksim310

                        You just gotta intriduce yourself not like: "Hi, I'm Mike. I design workflow models using WF on .NET Framework 3.5" But more like: "Hey baby, I just made an application that can make sure your Gucci shoes get to your apartment on time. I gotta go take care of a meeting, kick some ass, show them who the boss is. But give me your number and I'll hit you up later today." Side note #1: DO NOT WEAR short sleeve button down shirts. Side note #2: DO NOT WEAR military style boots, chicks don't dig that stuff. Side note #3: DO NOT TALK ABOUT .NET -Good Luck *and girls on CP, show some love. :rose:

                        E Offline
                        E Offline
                        EHaskins
                        wrote on last edited by
                        #23

                        Good tips and fast reply. Its all good. :) Except this is totally off topic.

                        Total geek! :)

                        M 1 Reply Last reply
                        0
                        • R Rayman Wu

                          maxxx# wrote:

                          Also, instant gratification is good at that age (!) so something GUI has the appeal of getting something visual up and running quickly.

                          I couldn't agree more. The language selected should be concise and RAD-enabled. C# is that kind of language.

                          History repeats itself.

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

                          I'm personally not so sure about c# - if only because of : a) the CaSe SensitiVity It isn't intuituitive that Fred != fred b) the curly bracket syndrome It is scary for kids to be confronted with something full of symbols they don't understand. (unless it's graffitti in which case they seem to revel in symbols I don't understand!) While not a great fan, I have found that VB .Net is 'less confronting' to kids than c#

                          Take a chill pill, Daddy-o .\\axxx (That's an 'M')

                          F S 2 Replies Last reply
                          0
                          • I I cant do that Dave

                            I don't want to start a religious war here or have to wade through a history of computer languages. I would have posted on /. for that! My 15 year old son (ninth grade) wants me to teach him programming. I don't want to traumatize him with assembler -- dealing with me should be sufficient. What would be a good first language to use? We both think a barebones implementation of Life (John Conway's ...) could be a good first project. Source code should be available in virtually every language for every possible platform. He's looked at Scratch and MindStorms. He thinks they are too simplistic and wants something that is deeper. (I know MindStorms has C++, etc., but the Lego platform isn't inspiring him.). And, I don't even know if either Scratch or MindStorms is up to the task of Life. Next up might be Micropolis (SimCity) although that could be a bit daunting. Development platforms can be XP or OS X. Thanks all, David

                            B Offline
                            B Offline
                            Bob Beechey
                            wrote on last edited by
                            #25

                            For a beginning programmer, a BASIC like language (without all the "decorations" of brackets and semi-colons) is more verbose but cleaner and clearer. That suggests: VB.NET (nice language but too Form oriented) Python Ruby A personal favourite (but not free ) is Phrogram. It is a .NET Framework 2 language with a nice IDE. It pares a BASIC-like language to the bare essentials but has some very nice easy to use sprite stuff to make simple games (even 3D using DirectX 9.0c). Check out www.phrogram.com

                            1 Reply Last reply
                            0
                            • S StevenWalsh

                              I wish I had started with assembler. Nothing teaches you to write good code better then knowing what that code is actually representing. However the instant gratification aspect is important to helping him stick with programming. C# and winforms would be a good start in my opinion (as long as you're familiar with it) I think C# opens up the world of other languages like C++ or php a lot easier then VB.

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

                              StevenWalsh wrote:

                              I wish I had started with assembler.

                              Speaking as one who started on 6502 assembler, hand-written in a notebook, converted to hex and entered a byte at a time, you really need to be keen to persist!

                              Take a chill pill, Daddy-o .\\axxx (That's an 'M')

                              S 1 Reply Last reply
                              0
                              • E EHaskins

                                "Plus, chicks dig guys who know .NET." I'd like to meet some of them. ;)

                                Total geek! :)

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

                                Meet the chicks, or the guys? :-D

                                Take a chill pill, Daddy-o .\\axxx (That's an 'M')

                                1 Reply Last reply
                                0
                                • E EHaskins

                                  Good tips and fast reply. Its all good. :) Except this is totally off topic.

                                  Total geek! :)

                                  M Offline
                                  M Offline
                                  maksim310
                                  wrote on last edited by
                                  #28

                                  Ahh, who cares if it's off topic. We all know he'll go with VB.NET to teach his son. High school kids have the attention span of a hummingbirds on espresso. You start explaining pointers and memory management to him and he'll just decide this is useless and go back to hitting on that hottie in his homeroom. I think giving him a task of building something on ASP.NET, like a social network, will be the best solution. That is actually the biggest problem in programming is that without a project it's just memorization. I learned programming essentially from scratch when at 16 I got an internship at a lab and they said: "build this however you want" and I just went one step at a time with VB.NET.

                                  1 Reply Last reply
                                  0
                                  • E EHaskins

                                    I started teaching myself to program in .net when I was 10 or 11, so I think I know what I'm talking about. I should probably say that I had used the Lego Mindstorms products previously(about a year), but at that point I didn't know how to use an If, so I don't know if that counts as programming experience. I've also had to teach several people( ages 12 to 17 ) basic programming skills, and my big suggestions are: 1) Don't start with a project! If you do everybody just gets overwhelmed. 2) I think .net in general is a good first platform, and VB.net in specific is fantastic. Don't worry about learning the C/C# syntax, yet. Once they get started, let them read code samples(some in C#), and they'll pick it up fast. This is generally the way I go about teaching others. 1) FizzBuzz. Start with command line programs. You can write some fun games, or tools, very quickly, and you learn all of the language features very quickly without having to learn the GUI tools first. These early apps should be simple enough that you won't need to use any real debugging tools to make them work. If nothing else things like FizzBuzz are good projects. Your first few apps should not have to deal with DBs, file system, configuration, ect. These are concepts which just confuse most people, and when you're just learning the syntax and basic framework features you really don't need more complexity. 2) Simple Project Once they have a good grasp of language features, you can start a project(simple, fun games work good.). You should try to have the first project be able to be completed within 6-12 hours. Don't spend time to architect it early. Let them design it even if it sucks. If it falls apart, talk about what happened and why it failed, then pick another topic and start again. This is where you start introducing the debugging capabilities of your tools. Even if you can see the problem by reading the code you should teach them how to use the tools, and then show them how you could see it. That serves the dual purpose of teaching the debugging tools and teaching how to ID errors without tools. Once, or if, the project gets functional you can use it to introduce factoring tools. Its good if you can then expand the project with some simple features which you never planned for. This usually means refactoring and significant debugging, since very few people write even half decent code their first time. 3) Real Project Start a real project which may take some time. Use proper source control, and m

                                    P Offline
                                    P Offline
                                    Paul Conrad
                                    wrote on last edited by
                                    #29

                                    EHaskins wrote:

                                    so I think I know what I'm talking about

                                    Really? Your profile says you started programming in 2003.

                                    "The clue train passed his station without stopping." - John Simmons / outlaw programmer "Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon

                                    E 1 Reply Last reply
                                    0
                                    • I I cant do that Dave

                                      I don't want to start a religious war here or have to wade through a history of computer languages. I would have posted on /. for that! My 15 year old son (ninth grade) wants me to teach him programming. I don't want to traumatize him with assembler -- dealing with me should be sufficient. What would be a good first language to use? We both think a barebones implementation of Life (John Conway's ...) could be a good first project. Source code should be available in virtually every language for every possible platform. He's looked at Scratch and MindStorms. He thinks they are too simplistic and wants something that is deeper. (I know MindStorms has C++, etc., but the Lego platform isn't inspiring him.). And, I don't even know if either Scratch or MindStorms is up to the task of Life. Next up might be Micropolis (SimCity) although that could be a bit daunting. Development platforms can be XP or OS X. Thanks all, David

                                      S Offline
                                      S Offline
                                      Stuart Dootson
                                      wrote on last edited by
                                      #30

                                      Python? You've got an interactive shell for fast trying out of small code fragments, non-intrusive compilation, a sparse syntax (doesn't get in the way of understanding the basic (not BASIC) concepts) and a good set of libraries that can easily be added to using Python's package index[^]. There are GUI bindings[^] if you want them as well.

                                      1 Reply Last reply
                                      0
                                      • I I cant do that Dave

                                        I don't want to start a religious war here or have to wade through a history of computer languages. I would have posted on /. for that! My 15 year old son (ninth grade) wants me to teach him programming. I don't want to traumatize him with assembler -- dealing with me should be sufficient. What would be a good first language to use? We both think a barebones implementation of Life (John Conway's ...) could be a good first project. Source code should be available in virtually every language for every possible platform. He's looked at Scratch and MindStorms. He thinks they are too simplistic and wants something that is deeper. (I know MindStorms has C++, etc., but the Lego platform isn't inspiring him.). And, I don't even know if either Scratch or MindStorms is up to the task of Life. Next up might be Micropolis (SimCity) although that could be a bit daunting. Development platforms can be XP or OS X. Thanks all, David

                                        D Offline
                                        D Offline
                                        DrFrankenstein90
                                        wrote on last edited by
                                        #31

                                        I'll tell you my experience as a self-taught teenager programmer (I'm 18 now). Maybe that'll be good input... Maybe. I started at his age with VB 4 (!! because I had it...), then quickly switched to VB.NET when I saw an ad about the free editions of Visual Studio (http://www.microsoft.com/express). Some time before I had my try with C++ and Java and didn't really pick it up. I did some mIRC scripting too (interesting to try, too). So yes, I picked VB up and liked it for its english-like syntax and visual designer. I started making a calculator program (good startup project if you ask me). So I drew its interface in Paint and recopied it in Visual Studio. Then I started double-clicking the UI elements (mainly buttons!) and wrote code... outputBox.Text &= "5" for example. I knew how to do basic coding elements (conditions, selects, functions, subs) from my little mIRC/BASIC/C++ experience, and I've read about (built-in) types in my C++ book. If I didn't know how to do something (for example converting from String to Integer (or Double)), I'd hit F1 and search. That worked well. One tip I can give you at this time... it doesn't matter if your son writes shitty code or even hacks when he's beginning. I wouldn't recommend starting directly with OOP. Since I saw some assembler, I thought it would be interesting to try to dis-ASM my own program. I knew what .NET meant, and I knew it ran its own bytecode, like Java. So I Googled for .NET disassembler and downloaded Reflector. That program was a kind of revelation. I didn't look at the disASMs for long, I was more interested by how it showed the elements of my program in a tree. Yes, that was how I was introduced to OOP. Interesting, huh? Yes, I've read some disassembly. Hovering my mouse over an instruction made a tooltip appear, explaining what it meant. Disassembling simple structures like my_var = 5 * other_var would be interesting. Reflector also acted as a really good .NET API reference and also showed me how that thing worked. Priceless. It also made me find out about C#, and I liked its syntax better. Reminded me of C++, JavaScript and mIRC. So I downloaded it, and made the switch. As simple as that. After that, well, some practicing. I eventually started writing more complex programs, learned more about OOP, threads and the like. I wrote a IRC client stub using smartirc4net. I never finished my calculator :-D . Then, I switched to C++. Why? Because it resembled C# and it was multiplatform, and everyone used it, etc. etc. For

                                        V 1 Reply Last reply
                                        0
                                        • J Joe Woodbury

                                          I actually say C using C++. A good programmer needs to learn the basic procedural aspects of programming which lie at the heart of everything. Until those basic leaps of logic are made, everything else doesn't matter. Another advantage of C/C++ is how much it reflects how a computer fundamentally works. I've been increasingly disappointed with new developers who've only worked with highly abstract languages. Among other things, they don't seem to understand how computers even work and that's reflected in their code. (My greatest leap forward in programming was when I suddenly "got" assembly language. I'd just taken an Z-80 assembly class and was writing some 6502 code when all the confusing stuff ceased to be confusing. I taught myself C in three days because it was simply a great macro-assembler [C pointers didn't confuse me because I understood how assembly worked.])

                                          Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke

                                          modified on Tuesday, July 1, 2008 11:26 PM

                                          T Offline
                                          T Offline
                                          T Mac Oz
                                          wrote on last edited by
                                          #32

                                          Joe Woodbury wrote:

                                          A good programmer needs to learn the basic procedural aspects of programming which lie at the heart of everything.

                                          True that :) . Studies have shown that the first programming language learned shapes the way a programmer approaches design & code for the rest of their life. VB might well be easy to learn but for a first language something a bit more challenging - that will provide a better understanding across a wider range of s/w development concepts - is probably the go (and there's no concept you can't model in C/C++). Rather than starting off with graphical apps though, I'd suggest the instant gratification of ye olde "Hello World!" type command line apps & moving into ascii graphics for "Life" before venturing into GUI based apps. Event-driven programming is a whole 'nother world of hurt. If C/C++ is a bit too heavy, try Java or C#. Of course, if you want to future-proof your kid with parallel programming concepts, it's gotta be Erlang.

                                          T-Mac-Oz

                                          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