C vs. C++

fwiw, as a newbie who started learning C# in august of this year the learning/development curve was pretty small for me. i can now code apps for trading pretty easily...before that i couldn't code jack shit.

the only complaint i've had so far is there are alot of activeX (.ocx) controls that were designed for VB5/6 and C++ and won't work with .NET...
 
A friend of mine knows many of languages you are talking about. But my question is why he is still looking for work? Anyway, if you happen to know potential opportunities for my friend, please PM me. I will be happy be a contact. Thank you.

:p
 
Quote from nononsense:



Tell us about it dude. I did my best for Python already.

Here you go:

http://www.rubycentral.com/book/index.html

From what I can tell Ruby is more OO oriented than Python (in the same way Smalltalk is more OO oriented than Python). I've written programs in a lot of languages and the language I most enjoy writing in is Ruby. I find that I am writing Ruby code about 5x faster than C++ code and it is a lot more enjoyable to produce. The downside is speed - Ruby is interpreted and is relatively slow. For applications that don't have speed-critical sections or for prototyping, Ruby is nice.

Here is somebody's summary of Ruby vs. Python:

2.1 How Does Ruby Compare With Python?
Python and Ruby are both object oriented languages that provide a smooth transition from procedural to OO programming styles. Smalltalk, by contrast, is object only - you can't do anything until you understand objects, inheritance and the sizable Smalltalk class hierarchy. By providing procedural training wheels, Python and Ruby ``fix'' one of the features that may have kept Smalltalk out of the mainstream. The two languages differ by approaching this solution from opposite directions.


Python is a hybrid language. It has functions for procedural programming and objects for OO programming. Python bridges the two worlds by allowing functions and methods to interconvert using the explicit ``self'' parameter of every method def. When a function is inserted into an object, the first argument automagically becomes a reference to the receiver.


Ruby is a pure OO language that can masquerade as a procedural one. It has no functions, only method calls. In a Ruby method the receiver, also called self, is a hidden argument like ``this'' in C++. A ``def'' statement outside of a class definition, which is a function in Python, is actually a method call in Ruby. These ersatz functions become private methods of class Object, the root of the Ruby class hierarchy. Procedural programming is neatly solved from the other direction - everything is an object. If the user doesn't grok objects yet, they can just pretend that ``def'' is a function definition and still get useful work done.


Ruby's OO purity provides a number features that Python lacks or is still working toward: a unified type/class hierarchy, metaclasses, the ability to subclass everything, and uniform method invocation (none of this len() is a function but items() is a method rubbish). Ruby, like Smalltalk, only supports single inheritance, but it does have a very powerful mixin concept: a class definition may include a module, which inserts that module's methods, constants, etc. into the class.


Ruby, again like Smalltalk, provides closures and code blocks and uses them to the same good effect. The Ruby collection classes and iterators are outstanding, much more powerful and elegant than the ad hoc solutions that Python is sprouting (lambdas and list comprehensions).


Ruby's syntax and design philosophy are heavily influenced by Perl. It has a lot of syntactic variability. Statement modifiers (if, unless, while, until, etc.) may appear at the end of any statement. Some key words are optional (the ``then'' in an ``if'' statement for example). Parentheses may sometimes be elided in method calls. The receiver of a method may usually be elided. Many, many things are lifted directly from Perl. Built in regular expressions, $_ and friends, here documents, the single-quoted / double-quoted string distinction, $ and @ prefixes to distinguish different kinds of names and so forth.


If you like Perl, you will like Ruby and be right at home with its syntax. If you like Smalltalk, you will like Ruby and be right at home with its semantics. If you like Python, you may or may not be put off by the huge difference in design philosophy between Python and Ruby/Perl.


Ruby is much more complex than Python but its features, for the most part, hang together well. Ruby is well designed and full of neat ideas that might be mined for P3K. I'm not sure how many Python programmers will be attracted to it though - it hasn't won me over (yet). But it is worthy of serious study and could be a real threat to Perl.

Posted by John Dell'Aquila in comp.lang.python, 11/17/2000.
 
Quote from sprstpd:



If you like Python, wouldn't you love Ruby? And it has even fewer followers.

Hi sprstpd,

Thank you for your competent Python and Ruby comparison. This is quite a change from your above quote which made me classify you with the obvious know nothings only interested in picking a fight around here whose only contributions are very abrasive and irrelevant. Sorry for this.

As I said before, I am still gathering experience with Python. I know about Ruby and its merits but I had to make a choice. I already mentioned the importance of an IDE to support development. Unfortunetely for Ruby I did not find much around. I wouldn't go so far as sticking a number on the improvement in productivity possible by these recent languages, but your factor of 5 is not implausible.

Good to you,

nononsense
 
Quote from bungrider:

fwiw, as a newbie who started learning C# in august of this year the learning/development curve was pretty small for me. i can now code apps for trading pretty easily...before that i couldn't code jack shit.

the only complaint i've had so far is there are alot of activeX (.ocx) controls that were designed for VB5/6 and C++ and won't work with .NET...

Hi bungrider,

As starter of this thread, you deserve some special treatment! I commend you for your straightforwardness in calling yourself a newbie. From your past posts I think you are rather clever.

I am sorry to hear you got stuck already with your C#. Others have written about this before on this board. I'm sure if you wait another 5 years, they will get it where VC++ is right now. Having lived through the VBx's and VC++x's hell before I learned my lesson. I subscribed for many years to MSDN, got piles of CD's but I never got any help out of this in trying to get rid of the bugs.

As you call yourself a newbie, I really feel sorry for you that you got yourself into such needless adventure. Stick with what works. If you can't help it, stick with VB6. Want more go C++. If you would be really smart, look at Python.

Where do you have to get your wisdom from? In college I was once picked up the following which stuck with me for good: "If you want to become a mathematician, it is sufficient to read the masters". (Henri Poincare, a brilliant mathematician of 100 years ago). The same holds for programming languages. If you try to get wise from the street, you'll never will fly very far!

Why don't I mess with C# anymore:

"I have no comments on C# as a language. It will take a lot to persuade me that the world needs yet another proprietary language (YAPL). It will be especially hard to persuade me that it needs a language that is closely integrated with a specific proprietary operating system. Clearly, I'm no great fan of proprietary languages, and quite a fan of open, formal standards. "

This is by Bjarne Stroustrup, he must know what he is talking about.

Did you hear how good old DEC kept on battling trying to keep people away from UNIX? DEC where are you? Remember how IBM did its best against UNIX? things change once in a while.

Bet on C# and Windows? Remember 10 years ago how Sun, IBM where liking it? The penetration figures of NT used to be small but kept growing steadily. Where is NT now? Dit you look at the latest projections for Linux in the server market? Pretty cool. Compare these figures on projected growth with those of NT about 10 years ago. Haven't we seen this before?

So don't look too much to the street in picking a new language. Try to stick with the smart kids.

nononsense
 
Quote from nononsense:


Bet on C# and Windows? Remember 10 years ago how Sun, IBM where liking it? The penetration figures of NT used to be small but kept growing steadily. Where is NT now? Dit you look at the latest projections for Linux in the server market? Pretty cool. Compare these figures on projected growth with those of NT about 10 years ago. Haven't we seen this before?

So don't look too much to the street in picking a new language. Try to stick with the smart kids.

nononsense
.net will live as long as Windows desktop exists. Do you think Linux can replace Windows on desktops?
 
Quote from CoolTrader:


.net will live as long as Windows desktop exists. Do you think Linux can replace Windows on desktops?

CoolTrader,

I don't think anything, I simply don't care. Read my previuos post. 10+ years ago: Did DEC think Unix was going to replace VAX or VMS? Did Sun think NT was going to give them that much trouble? Did IBM think they were going to have to run a lot of NT stuff?

All nononsense is trying to to is to stay with the smart kids. CoolTrader, as you appear to be interested in speculating, you know you have to pick with care! Trying to make some sense of projected growth figures sometimes helps. It sometimes did wonders in the past!

Good to you.
 
Back
Top