I don't mean to be a mood killer but that has to be taken with a grain of salt. Ruby/Python/Perl are awesome language for beginner because it abstract so much that they think they know how to code after a day, and when they have to learn a new language like C they are completely lost and produce spaghetti code. That might be ok for web development where you can hack here and there (with JS/CSS/HTML) but I really challenge someone that follows that guide to be a embedded device developer or a software engineer using C or even C# or Java.
Anyway good read but again it should be really emphasize that this is an ok road for a web developer.
Problem 1: I can't get this damn div to float to the right of my content.
Problem 2: My network card firmware stops acknowledging commands from the driver after 3 days of high utiliization.
If you think you would assign the same person to "solve these problems with code", you're being silly. People specialize and gain expertise in their areas. Use the right tool for the job.
Indeed, I did ever worked. Of course you need some breadth of knowledge, but unless the place was absolutely tiny, your low-level developers writing VHDL weren't going to be asked to optimize a SQL query or tweak CSS.
Totally want to learn C, but I wouldn't even have thought to try if I hadn't tried ruby first. I got my first look at C digging through the Ruby source code, trying to figure out how it implemented Array.sort.
Ruby opened me up to the world of programming and I look forward to exploring the rest!
If you're looking at how ruby implemented Array.sort you are definitely on the right track !
I'm not sure that's how all people who started with Ruby/Python are evolving but that's good. However I'm not too comfortable trying to lure people to believe that you can write a web client in 2 lines :/
PS: Got downvoted for making a usefull comment ? Seriously guys you can't give a different opinion than the crowd...
OT: Up until maybe two months ago, the moderation on my posts might not have always been what I wanted, but it at least consistently made sense. Since then, moderation has gotten increasingly erratic. Yay Eternal September?
If you want to learn C check out the CS50 from Harvard. It gives you the basics of programming (which you obviously already know), but focuses on C, and will teach you a lot of the basics. Watch the videos and do the problem sets, it will give you a broad understanding of algorithms, sorting, and C
https://www.cs50.net/lectures/
Right, because you never see bad code in java applications... StringReflectionFactoryInterfaceBean()
If you follow a couple of the OP's points (read a ton, write a ton, talk with people more experienced than you) you can write in basically any language for almost any application.
Read/Do/Talk, isn't that basically what school is, anyway?
I'm not saying that you can't get it wrong if you do Java, please don't make a caricature ;)
I agree with you the Read/Do/Talk is the same for any language my point is it requires much more read (theory/understanding of computers internal) if you do something else than ruby.
In my opinion, there's a certain set of core rules, you need to learn, after which it's relatively easy to transfer your knowledge between programming languages and domains. I'm fairly sure you can get this fundamental toolbox in any language.
Btw. I don't agree with the sentiment that it's somehow easier to learn web development than writing device drivers or other closer-to-the-metal stuff. On the contrary - web development is chaotic and complex. Low level stuff is much more straight forward. It might be less accessible, but I don't believe it to be fundamentally harder.
Anyway good read but again it should be really emphasize that this is an ok road for a web developer.