Poll

What language do you prefer to write code in?

Java
1 (11.1%)
J#
0 (0%)
C#
0 (0%)
C++
8 (88.9%)
C
0 (0%)

Total Members Voted: 9

Author Topic: Favorite Programming Language  (Read 1246 times)

Offline jcj94

  • Sr. Member
  • ****
  • Posts: 407
    • http://techfusion-279.com
Favorite Programming Language
« on: May 23, 2011, 07:16:47 AM »
I was working with the Eclipse java enviornment, and was wondering: The eclipse enviornment is simaler to the VC Express eviornment, but I like java just a little bit more so than C++.  

So, what is YOUR favorite language?

Offline TH300

  • Hero Member
  • *****
  • Posts: 1425
    • http://op3game.net
Favorite Programming Language
« Reply #1 on: May 23, 2011, 03:06:58 PM »
I like C++, because there are C++ compilers for almost every os, most os apis and other libraries come with a C++ interface (that makes C++ a universal language) and the compiled code is pretty much the fastest that one can get from a higher programming language.

There might be languages like D which are more user friendly, but I didn't learn D, yet, hence it cannot be my favorite.

I also worked a lot with Java, but I don't like the Java api.

I didn't look at C# or J#, yet, and probably never will. As far as I am informed those languages compiled to interpreted byte code which requires the .Net platform or an equivalent to run. That disqualifies the languages for me (there is no .Net for Linux and the free "mono" is always behind).

Offline jcj94

  • Sr. Member
  • ****
  • Posts: 407
    • http://techfusion-279.com
Favorite Programming Language
« Reply #2 on: May 24, 2011, 11:42:16 AM »
Well, I see C++ being used in more places.

I just dislike the way C++ does somethings.

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 3857
Favorite Programming Language
« Reply #3 on: May 24, 2011, 08:38:50 PM »
C++ is a bit antiquated, but I don't see any viable replacements currently. The newer languages have nice features, but are usually not native code compiled, nor do they offer the same kind of efficiency in terms of both run-time speed, and packaging size. (Mind you, C++ can be terrible in terms of packaging size, depending on how you use it).

D seems like it comes close, but it just doesn't feel ready yet. The installation was a pain the first time I tried it. It's better now, but still, you can't install to a path with spaces in it, like "Program Files", where everything else gets installed. I find that kind of lame. More serious though, is the standard library issue. There is the official one packaged with the compiler, and the more extensive replacement one, which a lot of people and code projects have switched to. I don't like having to decide on an issue like that. Especially since it affects what projects your code can then be used in, since the two are not quite compatible with each other. On top of all that, since the language is so new and still in development, the documentation doesn't always accurately reflect the way things currently are. I've tried example code out, only to find the functions used are not present in the "standard library" anymore. Some were renamed, some were moved to new packages, and some were deprecated in favour of another way of doing things.


Languages like Java aren't too bad, but I hate the JVM. It's a huge memory hog, and often super slow. Especially on low memory systems due to the memory hog issue. It's also usually terrible for initial load-up time. I might be more interested in the language if native code compilers were more common place. Mind you, I still find the language a little needlessly verbose, and I'm not too fond of the very long package names, and how absolutely every function must belong to a class (even if it's simply declared as static). Do trig functions really need to belong to a class? I suppose you could just treat the classes like modules, but I normally expect to be able to "new" a class in a sensible way, so that seems strange to me.


I've never used languages like C#, so I can't really comment too much. I've read a little bit of the language specification, and it seemed pretty neat. I'm not too sure about the compiled nature of it though. Sounds like it doesn't compile to native code. Mind you, I've also heard of ideas such as compiling to native code during installation, so you can make full use of the features of the host CPU, rather than distributing a generic executable. I'm not sure if this has ever been done though. I suspect in practice it's a bit like the JVM. I've also heard there can be significant overhead with certain code. I've never tested it out myself though.
 

Offline BlackBox

  • Administrator
  • Hero Member
  • *****
  • Posts: 3103
Favorite Programming Language
« Reply #4 on: May 24, 2011, 10:14:13 PM »
I think this is kind of a poor question to ask. Which language is my "favorite" depends on the problem that I'm trying to solve. If it's something that has to be done quickly that involves things like invoking commands and processing the output, where performance is not an issue, I'll use a language like shell scripting or Perl. (Perl is absolutely horrible for building a math or database intensive app; a notable example where I work was a perl script that did a huge number of queries on a geospatial database. With the datasets we were working with the script would take approximately 5 days to run from start to finish. I rewrote the software in Java and the java program took approximately 2 hours).

If I'm trying to build a database-heavy web application rapidly (again, where performance might not be of the utmost concern) I'll use Ruby.

If I want a good balance between speed and portability/ability to develop rapidly I'll use something like Java (I disagree with Hooman in that the JVM in modern systems is actually quite fast; once certain code paths are executed a given number of times the JVM will compile the classes in question to machine code. In a situation where there are long object lifecycles like an application server Java can actually be very performant (still not as fast as "bare metal" compiled code like C/C++/Objective-C but this is usually considered an acceptable loss in software engineering because programs written in higher level languages are often much easier to maintain).

And then finally, in some situations (I do a lot of mobile development, so the next example applies to iOS and Android) you are at the mercy of the people who designed the platform (so you must use a mix of C and Objective-C in iOS, and primarily Java in Android; it's possible to write components in C/C++ but generally not the entire application on android).
« Last Edit: May 24, 2011, 10:16:55 PM by BlackBox »

Offline Lord Of Pain

  • Sr. Member
  • ****
  • Posts: 275
Favorite Programming Language
« Reply #5 on: May 27, 2011, 07:36:58 AM »
Quote
"C++ I choose you!"

*throws pokie ball*

uuuugh yea, i kinda only know c++ and even then im perhaps the most if not at least one of the greatest failures of understanding it while attempting to understand the program msvc...

Im only good at running through with examples (like looking at reference source code from past projects) to help me figure out what functions and lines exist and how they should be inserted.

So yeah i do alot of copy/paste work but thanks to flashy i have an ai reference which others may find useful to learn off of.

But its not always as simple as copy/paste and be done, no, i have to edit and somtimes look over the entire main.cpp which i use for programing a game.

I would like to take a moment and thank the community for their hard work and contributation over the years for keeping this site alive. :)

Offline jcj94

  • Sr. Member
  • ****
  • Posts: 407
    • http://techfusion-279.com
Favorite Programming Language
« Reply #6 on: October 31, 2011, 08:06:34 PM »
Quote
Quote
"C++ I choose you!"

*throws pokie ball*

uuuugh yea, i kinda only know c++ and even then im perhaps the most if not at least one of the greatest failures of understanding it while attempting to understand the program msvc...

Im only good at running through with examples (like looking at reference source code from past projects) to help me figure out what functions and lines exist and how they should be inserted.

So yeah i do alot of copy/paste work but thanks to flashy i have an ai reference which others may find useful to learn off of.

But its not always as simple as copy/paste and be done, no, i have to edit and somtimes look over the entire main.cpp which i use for programing a game.

I would like to take a moment and thank the community for their hard work and contributation over the years for keeping this site alive. :)
Well, the way I see it is this, C++ and Java are both OOL, so your going to find a LOT of code redundancies between them.

Some things are several thousand times simpler in C++, and others are the exact opposite.

And yeah, I don't program off of memory a lot of times.  I look at my code and go, copy-paste.  Why?
FASTER.   If you counted every keystroke difference between copy-pasting and actually typing out the lines.. yah, definately faster, fewer keystrokes, and avoiding the occasional random smash that I tend to do when the computer decides to go un-responsive.

no shame in the copy paste.
« Last Edit: October 31, 2011, 08:09:20 PM by jcj94 »