Jump to content
New account registrations are disabed. This website is now an archive. Read more here.
RageMage

Which language do you prefer

Recommended Posts

The title says it all, which programming language do you prefer and why?

 

As some of you may know I started learning C++ on New Years, I seem to understand it fairly well perhaps that is because I have previous knowledge of C# (even though I've forgotten most of it).

While I do have a preference to C++ at the moment I find it to be somewhat messy and for a large part unorganized. I feel that C# was much cleaner and neater code and thus was easier to read, of course this is just my own personal opinion.

 

To any more experienced in C++ than myself any tips on how to organize my code to make it easier to read and find things.

 

I prefer C++ just because it's what I'm currently learning.

Share this post


Link to post
Share on other sites

@Polraudio That makes perfect sense.

I started looking into ruby when I first joined and I still enjoying trying new things with it and learning more about it just for RGSS sake but I feel like I could accomplish so much more using C++.

Share this post


Link to post
Share on other sites

hooooo-boy, here we go. This is a tough question, I only really know a handful of languages (depending on how you want to define a programming language, any ways)

 

However, it's really hard to pick a favourite. Obviously, when it comes down to choosing a language -- it's really situational.

Personally, I love ruby. Super dynamic (duck-typing ftw!), EVERYTHING is actually an object (true object-oriented), and extremely expressive. The only true downside to ruby, is that it is inherently slower than compiled languages...which I'd argue that, it isn't even really a downside...ruby is written in C, and thus, can be extended WITH C for slow code...it even has "RubyInline," that can run OTHER languages (mainly used for writting C within ruby) right in your source code...

So to me, ruby is infinitely flexible -- and the whole speed issue, really is a non-issue...

 

Although, from here, I'd like to make a special note for C -- C would definitely be my next runner up (if not even more of my favourite.) C is statically-typed and procedural. It is commonly referred to as a mid-level programming language, due to the fact that you have nearly the same low-level control over the machine's hardware (as say, assembler) except with the more abstract, high-level syntax. Plus, C was designed to be a multi-purpose language, and thus there are no restrictions arbitrarily placed on the programmer. Also, it's REALLY fast. (To me C/C++ might as well be the same language, with different paradigms...so I'd give C++ a big thumbs up, though I don't really know C++)

 

But, out of all the languages I know OF (not necessarily know myself), I think `D` would REALLY be my favourite (I'll learn it eventually, one language at a time...I'm technically still learning C)

D is really cool, it takes the low-level/speed/no restrictions/etc concepts of C/C++, and mixes it in with the safe-programming (C/C++ can actually damage hardware, if one is not careful)/dynamic concepts of interpreted languages, and from what I have read; it does a good job.

More info: http://dlang.org/

 

If I could pick a least favourite/worst language....Java. Java's pretty good for making simple apps and whatnot, but IMO -- it tries to take the best of Compiled languages to mix with the best of Interpreted languages, and instead ended up with the worst of both worlds. Statically-typed (C-Like), except slower... >.<

Not saying it doesn't have it's uses...just that, it's not THAT good at them (IMO)

I would consider C# worse than java...but C# is essentially a compiled java (much faster), while still a little more dynamic than C/C++. But, I REALLY hate that it is a proprietary micro$oft programming language based around the .NET framework. I hate proprietary languages (and I hate micro$oft, but that's another story)

 

Then, we could get into web-based languages (HTML, Javascript, PHP, CSS)--They are fun, easy to pickup, hard to master languages. I'd like to get into them more, but web development is kinda on the backburner for me.

 

Look what you made me do! (haha, j/k I love rambling about this stuff)

 

But, back at you ragemage:

If you really plan to get into programming (especially in terms of game development), you're gonna learn a lot of languages--and in fact, a single project may make use of multiple languages (Like I said about ruby/C, but that's just one example -- a lot of professional game company's will actually develop a scripting language specifically for their game...I believe Quake has it's own language). While I think you should learn something like C/C++ for games primarily, don't look at it like the be all end all. A lot of programmers do this, but the thing is, C/C++ is a LOT slower of development times... Using a language like ruby, to say prototype something as proof of concept, then translating the working code into C/C++ could probably be much faster. (or even extending ruby, with those languages)

Although you can accomplish much more with C++, it really comes down to -- is it necessary? For a large-scale application/game, C++ will usually be the best choice. But for a simple app, that doesn't use much machine resources in the first place -- could easily be written in a dynamic language, without performing noticeably slower. So, to paraphrase Frank Zappa, are you attempting to cure head lice via decapitation?

 

Any ways, I don't want to deter you from learning C++, just want to make you more open to learning many languages :D

 

As for cleaning/prettying up your C++ source code, well, all I can really do is hopefully point you in the right direction. Most languages have their own styles, mixed with the programmer's personal style...

http://geosoft.no/development/cppstyle.html

Here are the more common coding style conventions for C++

They are meant to help people make neater/more readable code, so I hope that helps.

Share this post


Link to post
Share on other sites

I tried to learning ruby when i was learning to script in RMXP, but I didn't really like it and couldnt get into it. Maybe I'm not much of a programmer, but I learnt PHP by messing with this site. Maybe I didn't catch onto OOP well, which is necessity in ruby (right?) but not PHP. So PHP for me, but thats only language I really know aside from the other minor languages you need to know when making a website.

Share this post


Link to post
Share on other sites

Yes you are correct, I find (out of the languages I know, any ways) that Ruby is the most object-oriented...hell, even a class definition is actually an instance of the class object...and even a block is an object..

I think object-oriented programming is one of the tougher paradigms to really get into, as we humans, despite interacting with objects everyday, think in a more procedural method. PHP would be more procedural, though I do believe it has some object-oriented influences.

I think I'm being a little unfair when I clump all the web languages into one grouping. Although, generally, they are all needed to be used together when designing any kind of web application/website/etc., for the most part, they are all a complete language on their own -- albeit probably a bit more forgiving/dynamic than most languages. For example, I use Fedora 16 (Linux) with the gnome-3-shell desktop...all of the styling/functionality of the GUI of the shell itself is mostly written in CSS/Javascript, making it very lightweight (and infinitely easy to modify, without really breaking it :D)

 

I think you could learn Ruby, if you were interested. It's tough to stick to it, and learn anything if you don't have a REAL interest in it. Which is probably why I haven't really gotten that deep into web development...because I am more interested in software/game development than web development itself. (Although, I have been wanting to look into RubyOnRails, for using ruby as a web development tool!)

Share this post


Link to post
Share on other sites

@kellessdee wow now that is a lot to take in at once, I agree about Microsoft, I honestly can't stand Microsoft either I really only use windows dual booted on my desktop so I can get newer games like Skyrim running (I usually use ubuntu 11.10), I will say that I'm somewhat fond of Visual Studio 2010 for programming, I actually do like the .Net framework at times though I have only really messed with while taking the C# class in college or just the past few days learning C++. I really don't see C and C++ as actually the same language there are plenty of aspects that C++ introduced that wasn't actually in C, like OOP. Which is probably the most notable difference between the two. Calling them the same thing is like hamburgers and steak sure they're both beef but they are still two different foods.

I'm like you though I can't really get into web development unless I really have a need for it which hasn't been the case for some time now. As you mentioned with learning several different languages, that is the plan. I'm hoping that while I'm going the insanely large collection of C/C++ books that I have I can also be taking the time to learn Ruby on here as well as a from a few other sources.

I have noticed that it seems to be easier to understand an object oriented programming language as it simply is like with real life we deal with objects every day these objects have different specifications like size, color, shape, smell, and even fuse length which to me makes object oriented languages easier to understand and even easier to use.

 

The reason I'm working so hard at learning C++ is that it is the main standard for game development while yes many companies do have their own languages they are for the most part based on C/C++, now however some companies are switching to using C# primarily because of it's deep integration with .Net.

Share this post


Link to post
Share on other sites

Me too! Fedora 16 + Windows 7 for gaming xD.

 

I guess I should be more clear about my C/C++ presumptions...it would be more like C++ is C, but C is not C++.

C is a direct superset of C, containing the C language, plus new features/library (Object oriented, etc.)

C++ was designed to improve C and follow nearly the same syntax. There is new syntax, but you can still use C's libraries and what have you. So, C is nothing like C++, but C++ is very much like C, plus plus! (terrible joke i know) If that makes sense.

I generalize too much, and it gets the better of me often :(

 

And I won't disagree that .NET is a VERY good, and QUITE useful framework. And since it works with many languages, it's really nifty that you don't have to learn several frameworks. The only downside (and quite a large one, to me any way) is that it is proprietary. There are things like mono, but it's not the same :(

Because to be honest, I actually really like C# and .NET, it just REALLY irks me that it's nearly completely proprietary Q_Q

Share this post


Link to post
Share on other sites

Haha C++ is C but C is not C++ kind of like a square is a rectangle but a rectangle is not a square.

I do agree that the fact that C# and .Net is nearly completely proprietary is a major nuisance, but seeing as how most of the computer users in the world use windows, C# and the .Net framework can and have been proving to be quite profitable tools for software developers, the downside to this is that more and more developers are working with them writing more software for windows PC's while those of us who use Linux distributions are left with well sub-par programmers in general but then again it's more than you pay for in open source.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...