On 11/02/2011 01:05 AM, ron wrote: > From:ron at ron-l-j.com > Are we learning worthless garbage by learning frameworks ? In a word, no. That's my opinion, of course. > I'm Doing C# development now and I like C and its simple uses. I also like > staying close to the machine when I code. I went to school for electrical engineering, so I am very familiar with low level code. I *love* to write in C when I can. It's so transparent. You never have to look very hard to find exactly which function is called, you can't overload anything, etc. It is absolutely the best choice when writing device drivers and most parts of an operating system. I worked many years as an embedded programmer and really enjoyed it. There are not a ton of jobs for embedded programmers. The companies who need that kind of work make hardware, and the low level code in them and near them (drivers) make them work. It's key technology for those companies. > I look at ruby and wonder if it is worth learning? Only you can answer if it's worth it *for you*. My path led me to contract work, so there are even fewer embedded coding jobs. In contract work, you get paid to *finish* things. Higher level languages allow us to do that in less time. When I started contracting, I had a little experience in Windows development, so that's the kind of work I could get. It was (and still is) OK. It's a job. C#, Java, C++, Objective C - they all let you focus on your customer's key differentiator: How they are special and different from everyone else. They probably don't need hand-coded assembly to show that off, and that's OK. > And I tried iron ruby and its SLOW very slow. That's not really a roadblock. Iron Ruby is one way to run Ruby code on Windows. I'm not aware of any web site at all that actually runs on Iron Ruby. I'm probably wrong, but I know most do not. > Looking > back what has been the biggest change in programming but moving higher > levels and more and more frameworks? It is supposed to increase > development time, but how much C/C++/C#/Objective C could you write in > that time? What do you think is better time invested writing web > applications In a C variant or using html5 css3 JavaScript and > php,perl,python/ruby? I do enjoy python from time to time. While I was writing Windows code, I was not happy about much of the work. Some of that was the platform, some was the kind of customers who use the platform. I had heard of Ruby before, and Rails started to get some traction in 2006. I carved out some free time and taught myself Ruby and Rails. I started attending local user group meetings and getting involved in the community. I took training. I got a small gig helping a fitness studio get online. Ruby on Rails let me build a complete web site from scratch for a very small company in *four days*. One more day was spent by a designer making my pages look nice. There's no way I could have been so productive in C in such a short time frame. There are many ways to make Rails code run fast enough, and a few to make it really fly, but it all depends on exactly what your specific app is doing to tune it well. It goes along with the mix of languages you mentioned. 1) In a Rails app, there's Ruby code for sure. 2) You talk to a database, which is a very complex piece of software. If your web app requires complex database queries, you'll need to know SQL very well. 3 and 4) Web browsers only know HTML and CSS, so you need to know them. 5) If your pages are going to have anything eye catching at all, you'll need JavaScript. That's *five* languages or syntaxes so far. Rails also let you use SCSS and CoffeeScript, so two more languages, and you can add HAML if you like and now you're up to eight - plus the testing frameworks: Test::Unit, RSpec, Cucumber, and so on. Each is a great fit for its purpose, and learning more languages helps you be more flexible in your thought - invaluable when you write code. I've been doing Rails work full time for the past three years, and I love how much it frees me of the details and drudgery of the low level stuff. I don't want to know about garbage collection or memory usage unless there's a real bottleneck in a performance test. Plus I get to use Linux on my laptop every single day because the web apps are usually deployed on Linux. The pay is pretty good too. I do remember CGI, but I never wrote a complex web app in C. I hope I never will. Best, Chris