Ye Olde Blah

ShiningSource.org => General Programming Forum => Topic started by: bEn on April 21, 2004, 03:11:45 pm



Title: Used programming languages/systems
Post by: bEn on April 21, 2004, 03:11:45 pm
Hi!
 I think a good start for this forum might be if we introduce the languages or system (thinking of BlitzBasic or MMF) so future developers might have a better peak into the concurrent languages/systems and choose their favorite - next to that it might be interesting for each of us to see what the others work on - e.g. I didn't know that there was a OpenGL implementation for Java....


Title: Used programming languages/systems
Post by: bEn on April 21, 2004, 03:28:13 pm
Language: C++
Compared to other pure programming languages C++ has the advantage that due to his age there is a large group of developers (including game developers) and especially libaries that might help you on your way.


General
C++ is object oriented which should force you to a consistent class design - if you never ever heard of OO and don't wanna have a deeper look into it you might still want to use C++ as it has some functions you will miss in pure C.
Next to that you should probobly keep in might that C++ provides you with NOTHING than the pure language - you must write anything yourself unless you rely on third party libaries (which is not that bad as it may sound now  :D )


Documentation
C++ itself is completely documented on the web - a simple google search will help you most of the time, as the complete UNIX documentation is reachable including all Unix C++ classes. Another rather complete ressource is http://www.cplusplus.com/ which contains the whole standard and several rather windows specific functions.
Next to that there is a large amount of tutorials on the web dealing with different issues.

Graphics
Using C++ you have usually the choice between 4 different graphic engines: The native C approach usually used for small 2D applications, using a window kit like MFC (windows), GTK (Linux + Windows) or QT (Linux - windows version can be bought), or either of the two famous 3D capable engines OpenGL (Windows/Linux) or Direct X (windows).
Next to that there are very many graphic engines (e.g. http://irrlicht.sourceforge.net) or even entire game engines (usually for FPS or 2D games tho) that can be used and enhanced. If you use one of them even impressive effects can be programmed rather simple).

Device Handling
Devicehandling is a bit tricky in C++ as tho it is a standard language and it can be compiled for nearly any platform this is platform specific. Nevertheless there is light at the end of this tunnel: the SDL (simple directl layer ...well sth like that) libary that is portable to nearly any system (including exotic things like the dreamcast)  so if you rely on that you are free of this restriction http://www.libsdl.org/

Sound
As a pure programming language C++ doesn't help you much with sound handling. Nevertheless there are third party libaries that fill this gap - just to mention a few there are DirectSound as part of DirectX, FMOD (a free portable libary), Audiere (an open source portable libary) and several sound libaries connected with the SDL.

Links
To lazy at the moment - will add some later on

Guess that's all about C++ from my side - if you think I missed a topic just tell so.... at least I am rather curious about the other stuff - e.g. what are differences between Blitz and DarkBasic .....


Title: Used programming languages/systems
Post by: Cortez on April 21, 2004, 06:36:13 pm
Compilers

There're a lot of C/C++ compilers around but usually they're commercial and costs a bunch of buckets. Luckily, there's still GNU. Compilers comes with Linux disturubtions by default, speaking for Windows ports:

http://www.mingw.org
http://www.cygwin.com/
http://www.delorie.com/djgpp/

are available as free software, under GNU General Public Licence (www.gnu.org/copyleft/gpl.html), the license that Linux itself uses.

And of course, there's more free development tools (especially make/automake) listed in Free Software Directory

http://www.gnu.org/directory/devel/

IDE
Visual Mingw - http://visual-mingw.sf.net
Dev-C++ -http://www.bloodshed.net/dev
(gotta add some more later...)


Title: Used programming languages/systems
Post by: ikitClaw on April 22, 2004, 09:57:28 pm
There's still a lot of debate about the relative merits of Microsoft Visual languages, but I'd like to add Microsoft Visual Basic as my language of choice exclusively for the Windows OS.
Microsoft products have the added support of a centralized online system and a dedicated IDE which makes a sturdy system for designing Windows software.
I've made use of the popular DirectX API and take advantage of other Windows inclusive software and libraries in my game.
I know it may be mean to exclude other non-Windows OS, but I believe that most home users go Microsoft by default, and those who opt for other platform are fully capable of running an emulator ;D>


Title: Used programming languages/systems
Post by: Cortez on April 23, 2004, 04:23:33 pm
Most users go with Windows by default because MS is paying a lot of advertisements, and media in all the world have sold themseleves. If people saw Linux ads in every 2 streets, and TV channels, this would be different. Feed Bill Gates, and let's watch him conquer the software "world". If all people kept being a slave of MS, we'd be paying money for each e-mail we send, under the name of "stamp".

I personally hate MS, and prefer to see the text "free as in freedom!" rather than "pay xxx$ to register, or die", but this's outta scope of this topic...


Title: Used programming languages/systems
Post by: Satan on April 23, 2004, 05:58:09 pm
Some confusing stuff there :? ..good thing I will be taking the C++ course in my sophomore year in high school (next year, taht is).  Then maybe I can be active in this wonderful converstaion :P


Title: Used programming languages/systems
Post by: ikitClaw on April 23, 2004, 07:21:07 pm
"There's still a lot of debate about the relative merits of Microsoft Visual languages"

- yup Cortez, that's why I skirted the issue.
Regardless of a corporate strategy, if a product is used widely, then its a good platform to work with. Lets not ruin this topic or attack Microsoft.

Anyway, glad to see Our Dark Infernal Lord uses C++ !!
C++ & Java would have been a stable choice for me, except I wanted a rough-and-ready application for the majority of Windows users.

Although these languages can be used to great effect and are free of many platform constraints, it is more laborious IMHO to get the required effects than a visual, OS integerated language.
If something's already in place, why re-invent the wheel ? (to mix methaphors)

I'm curious to hear about any Delphi development though....


Title: Used programming languages/systems
Post by: Job on April 24, 2004, 03:32:35 am
My language of choice is ActionScript for the Macromedia Flash Player. I won't even try to sell it. The language as a whole seems very disorganized, there are no real classes (although the latest version is trying to implement them), no real inheritance. It's more of a client side language like JavaScript, more used to add a little functionality to browsers, but not really meant to create applications. When i started with flash a long time ago i didn't recognize its limitations, so i started Shining Flash, and now i'm stuck with it :P . (My favorite language of all is Java)
There is however, many good things about flash, it can be embedded in web pages, and the plugin is extremely small (<500Kb).
The main challenge is creating a good tile engine. There are many people trying to program a fast tile engine in flash (most are in http://www.flashkit.com).
Mine is becoming progressively faster, i still have to post a demo of the latest version.


Title: Used programming languages/systems
Post by: Devlyn on April 24, 2004, 09:04:44 am
I program my stuff in Java these days. The biggest advantage of Java is that it's platform-independent. Now it's not so much that I'm that strong anti-Microsoft, but in the past when I programmed stuff, it ceased working properly when newer versions of Windows came out. I want to prevent that in the future. :)

Also, I'm a big fan of Java error handling. It makes debugging a lot easier :D


Title: Used programming languages/systems
Post by: bEn on April 24, 2004, 12:43:37 pm
Maybe one might add to java that with Eclipse it has the best free (and even Open Source)IDE I had the honor to use.
Especially if you ain't the big Java guru or tend to make these small typo errors like myself (forgetting those ; and maybe a ) or two) it is great to have an IDE that will tell you a)THAT you made sth wrong and b)WHAT you made wrong even BEFORE you compile the stuff.

Before all java gurus laugh at me because the C++ fanatic applaudes to a Java Application (yeah Eclipse is programmed in Java) - you will notice some of the major problems with larger Java applications even with Eclipse: The load time is nearly inacceptable (takes about a minute on my 1.2GHz laptop when e.g. Browser and Explorer are running in the background) which is also caused by the startup time of the Java Engine itself.

BTW when programming larger Java application for a large scale of systems you have to fight the same "portability" problems as with C++ - caused by the vast changes between the java versions and by programming flaws in the certain Java Engines for the different platforms


Title: Used programming languages/systems
Post by: Edgemaster on April 29, 2004, 10:30:10 pm
I'm learning Java now too, i'm still at a very early stage but i'm finding it all to be very straightforward. So far i've made a text based adventure game and i'm working on a traffic light system Applet at the moment! :)

Just bought a large book on game develoment in Java so i'm hoping to join the project side of TSS sometime next year perhaps!

I'll have to check out Eclipse sometime, i'm using bluej (http://www.bluej.org/) for an IDE at the moment which is very much a "my first IDE" type thing :P


Title: Used programming languages/systems
Post by: Ty on April 29, 2004, 11:33:15 pm
I use Eclipse for Java and PHP (with the PHP plugin (http://phpeclipse.sourceforge.net/)) and it's rather nice to use. Still missing a few features I'd like, but has helped me create the new tSS quicker than notepad would let me.


Title: Used programming languages/systems
Post by: MrTwiggles on June 30, 2006, 08:18:19 pm
MS.NET 2003 has worked wonders for me getting through university especially for my final project which was a Shining Force style game. The amount of files I ended up with was ridiculous but .NET made it easy. I'll stop there about that coz it's sounding like an advertisement...

I found that C++/DirectX works well for 2D based stuff. After making a flexible graphics engine, the rest was surprisingly easy. Obviously there's still code maintenance issues but that goes for any language really. I'm not too familiar with things like DarkBasic and Blitz but making your own engine with DirectX/OpenGL means you can fiddle with the graphics a lot more. Apologies in advance if you can do this with them as well.

Long story short...my opinion is starting from scratch = win