Page 2 of 2

Posted: Sat Jun 24, 2006 8:12 pm
by Benjamin
Saying C++ is cool, or not cool, is a rather subjective statement. What's the point?

Posted: Sat Jun 24, 2006 8:48 pm
by alex.barylski
Gambler wrote:
Yes it's difficult...but that's what makes it cool...that sense of absolute control and power
Just out of curiocity, what's your background in C/C++?
10+ years an counting...20+ in programming...

Although, thats more for simple braggin' rights...as my understanding of computers wasn't solid until my early teens...at which point I really started to learn interesting things...

Now I'm curious...why would you ask that question - what was the purpose?

Posted: Sat Jun 24, 2006 9:02 pm
by alex.barylski
astions wrote:Saying C++ is cool, or not cool, is a rather subjective statement. What's the point?
Perhaps...

The point is...I think C++ is cool...albeit not a very friendly language...but still cool... :P

Posted: Sun Jun 25, 2006 12:01 am
by Benjamin
I think it's cool too :wink:

Posted: Sun Jun 25, 2006 7:24 am
by Chris Corbyn
When I did what scottayy asked and decided to step into programming for the client side I went with C++. I could have learned C first but I'd read that C++ was a better OO choice, not knowing much more at the time. All the windows languages were right out of the equation for me. I managed to write a small OO lexer after about 1 month of reading but it probably looks to any C++ developers what my early PHP code would look like to a PHP developer. I don't know if it's worth learning over other languages because I haven't really looked at other languages (I'm guessing Perl doesn't count :P) but it can be learned... like anything else, you just gotta keep at it with hands on experience.

Posted: Sun Jun 25, 2006 7:55 am
by timvw
Imho, all languages in this thread can be learned in a couple of weeks... With 'learning' i mean that you're capable of programming a solution for a given problem...

Offcourse it usually takes months, years, decades to really grasp the darkest corners of a language... But i once saw a nice quote (i believe on this forums) and it went as following: 'It's a big fallacy that one has to master something in order to be successful in it. Otherwise there would be no unwanted teenage pregnancies.'

Posted: Sun Jun 25, 2006 11:00 am
by alex.barylski
Imho, all languages in this thread can be learned in a couple of weeks... With 'learning' i mean that you're capable of programming a solution for a given problem...
*Learn* is such a loosely used term :P

It's not so much the language...as your correct...any language can be learned...once you understand programming concepts...syntax is all that stands in your way really...

However it's a totally different ball game when you need to get practical...

Window'ed environments, depending on the language and technology...vary drastically in complexity...

In VB or RB you simply fire up your IDE click and drag some windows...double click on objects and write code for each event handler you need too...

In C++, it's not that easy...although the IDE makes some effort in automating this for you...anything outside of a trivial dialog box "Hello World" application is simply not possible to learn within weeks...

Most Windows in a MFC application are created manually by including the class (usually a derivative) as a composite and calling it's appropriate Create() functions and so on...which admittedly is trivial enough to learn in a week...

But mapping event handler macros, keeping data synchronized, adding drag and drop or whatever other required features you may need...IMHO you would be hard pressed to learn all of that in a few weeks...

Likewise, the flexibility you have in MFC also makes it more difficult...

They don't have a application wizard for generating System Tray applications...so you absolutely need to know what you doing before you can create anything like it...

Dealing with the poorly documented Shell extension API is another hurdle one must learn in Windows programming, ontop of Hooks, etc...

My point is...*learning* MFC and learning VB are very different things indeed :)

Cheers :)

Posted: Sun Jun 25, 2006 12:52 pm
by timvw
Hockey wrote: However it's a totally different ball game when you need to get practical...

Window'ed environments, depending on the language and technology...vary drastically in complexity...

My point is...*learning* MFC and learning VB are very different things indeed :)
The problem here is (imho) not the language, but the framework and the available libraries..

Sure MFC is a pita to learn (Even more when you realise that it's only a wrapper around Win32 API, and you have to learn this API too)... Compare this to development with Trolltechs QT...

Posted: Sun Jun 25, 2006 12:52 pm
by Gambler
what was the purpose?
The purpose was to see what kind of programming did you do, and how much. I had C++ in colledge, I've read more than 4 books about it, dozens of articles, I've written some programs that are fairly advanced (DCOM servers, XML parsing, sockets, etc.). Yet I can't say I understand C++. From my experience, most of the people who call themselves C++ programming have rougly the same level of uderstanding (or even worse). That's not enough. Anyone can read documentation and write some code. Naturally, I'm more interested in hearing from people who have real understanding.

I have many resons to say C++ is not cool. Strings, for example. Having to deal with 4 or 5 kinds of strings in a single application is very common. Also, I don't fully understand how the linker works. Especially considering that GCC and VS linkers work differently and sometimes even use different mangled function labels. Is it just my problem? Maybe, but I couldn't find any solid information on this topic. Same thing with compiler flags. Same thing with sockets. Opening a socket under windows requires doing lots of Woodoo magic. And there is no standard wrapper class.

Perhaps the most annoying of all is naming. Naming "practices" in C++ are not for making readable programs, they are for making sure that existing C++ programmers have stable employment. It's not the fault of language per se, but if you work with the language you're forced to deal with that kind of naming. It's impossible to avoid.

Posted: Sun Jun 25, 2006 1:56 pm
by feyd
Gambler, I think once again, you are pushing off topic. I'd suggest taking this somewhere else; another thread, private messages, whatever it may be.

Posted: Sun Jun 25, 2006 2:06 pm
by Christopher
Back to scottayy's OP, I think a this point Java, Python and Ruby would be the other main languages on the open source landscape. Their popularity happens to currently match their alphabetical order. If you want to go over to the dark side the C# is what they are coding aboard the death star (always plenty of jobs for the empire I hear). Of course there is also Mono.

C/C++ are always there though -- especially as systems languages.

Posted: Sun Jun 25, 2006 3:40 pm
by Gambler
Gambler, I think once again, you are pushing off topic.
You're making it impossible to actually discuss something here.

...

I think it always depends on what do you want to do with the language.

Python is very popular as a scripting language in games and other similar areas, because it's simple to learn and embeddable. If you want to be a game designer, it's almost a must-have skill nowadays. Also, could be useful for a modder.

Java is Java. Could be an entry-level language, though learning it can be difficult too. You should select yor books carefully, bad literature will confuse you. java.sun.com has decent tutorials, and they also publish them in paper. O'Reilly has some okay books as well.

Posted: Wed Jun 28, 2006 3:48 am
by Ambush Commander
I'm surprised that no one mentioned JavaScript!

Okay, so you'd think it'd be mostly used for websites, but you also program Firefox extensions in it. It's not a stand-alone-exe, but it's different enough (and useful enough).

(carry on)

Posted: Wed Jun 28, 2006 4:33 am
by Kadanis
well, if its any help MS are giving away free "lite" versions of the Visual Studio 2005 at the moment, branded under Express. I've just pulled down C# C++ and VB to have a play with all three. At least its a free way to get IDE/Compilers

Spent monday & tuesday on VB (my old legacy language from 5 or 6 years ago) and it seems quite simple to pick up again Gonna hit C# today ;)

From what I've heard so far it seems C# is definitely one to look at for client side, at least thats the word i get from colleagues using it.

Good luck in your search anyway

Posted: Thu Jul 06, 2006 8:46 am
by hydroxide
Nobody has mentioned it yet, so I might as well throw it out there... For interpreted languages, the pure object oriented language Ruby (http://rubylang.org) is really great. Its ease and power make it really, really useful. Unfortunately, there isn't a way to compile it into an exe at this point.