From: stef Date: 2006-11-20T07:20:05+09:00 Subject: Re: Ruby vs Java vs c++ On Sun, 19 Nov 2006 08:38:21 +0000, Phlip wrote: > n/a wrote: > >> hi, newbie so please be tolerant.... ;) > > Only if you promise to read every danged post you inspired. > >> i need to start to learn a programming language to be able to develop >> custom aps to be applied to a variety of purposes but mainly 1) financial >> data modeling--including graphics and data handling via database queries, >> etc.; and 2) more general business-type aps. > > All non-trivial applications, these days, are multi-lingual. For example, > many applications use a markup language (HTML, RC, etc...) to paint their > GUIs. Then they use an OO language for their high-level command-and-control > code (such as Ruby). Then they use a declarative language, such as SQL, to > interface with their systems, such as OSs and database engines written in a > C language. > >> my feeling is that i hate BLOATED sluggish programs (like some Java >> program running on older JVM's and perhaps not written in an optimal >> way....u get the idea.) > > That's because Java was invented to take market share from C++, allegedly > without introducing new risks. The actual result was a language that's > harder to compile, and harder to program. Java strongly resists high-level > abstractions, forcing you to write line after line and page after page of > cruft just to get anything done. (No wonder the book /Refactoring/ uses > Java!!;) > > Java is hostile to both the CPU and the programmer. Hence, the user suffers > too. > >> if i need to make a choice between fancy and efficient, >> speed, etc., then it's an easy choice 4 me of efficient. >> which is why i have just started w/ c++. > > No prob. Just remember that C++ is "portable OO assembler", and it is > CPU-friendly and programmer-hostile. > > Ruby, by contrast, is the ultimate in programmer-friendliness. At > considerable expense to the CPU! > >> however, speaking to one my programmer friends who is a top level Java >> programmer (the stuff he writes is very efficient and fancy as >> well--great balance), > > Oh, I love it when they start lecturing you on how awesome that peesashit > language is! Ay-yi-yi! > >> he is telling me that 1) c++ is being phased out >> (except 4 real low level stuff like drivers, etc.) in favor of languages >> such as Java or Ruby. > > Incorrect. C++ is a systems language (per Bjarne Stroustrup, its author). > Systems are large and long-lived. Nobody is phasing them out. > > C++ is strongly represented in the database, videogames, operating systems, > scientific, and research spaces. Also, all those spaces typically "alternate > hard and soft layers", by augmenting their C++ with a soft OO language. > Videogames use LUA, OSs often use Perl, databases use at least SQL if not > more, and so on. Ruby makes an _exquisite_ soft-layer, to provide the > high-level features for a C++ application. > >> he recommends i switch from learning c++ to learning >> Java or Ruby. i wd hope to be able to choose the best path and not have to >> switch tack in the middle as my IT capablity is not a full time activity, >> but more of a support 4 my main one--finance. > > Learn to learn languages. I could write a program in Java if you forced me > to (and with steady access to Google). Then learn all of them. You don't > have to worry about running out of room in your brain! > >> of course, learning curve is to be taken into consideration as well.... >> >> 'd love some comments that might help me consider my options and pick a >> path (c++, java or ruby) w/ a higher level of confidence..... i know that >> people here will be biased towards Ruby, but that is fine: i want to hear >> about it.... > > You will never miss anything (except lots of entry-level jobs that nobody > should want) if you avoid Java like the plague, and stick with languages > that are technically superior. Put another way, the simple motivation of > having a boss order you to use Java is not good enough. The motivation > itself will not magically make Java more productive. It will slow you down. > Some people work by the hour, so that's okay for them. If you want to be > rewarded for productivity, go with the most technically advanced system you > can. > > I work to the story-point. That means I estimate for my client each feature > in "ideal hours", and then I charge to those point, _not_ the actual hours > spent researching and coding. I don't actually give a darn what that time is > (and it usually includes lots of bizarre interruptions from my females!). > > If I did that using any system besides Ruby (on Rails, and pure Test Driven > Development), I would be absolutely screwed. Instead, I am able to fix the > cost of each iteration, while keeping the quality as high as possible, > without excessive delays. > i AM reading e/y single post in the thread, believe me. tx 4 the info.