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