View Full Version : Ideal programming languages (ease of use)


anonone
10-06-08, 05:43 PM
=List makeup
Hey, I'm wondering what languages are most ideal for learning when it comes to ppl with (creativity >>>> focus). Please share info about game Modding too if you have opinion on it. I'll begin the list down below. (I '*'ed what I concider my one greatest asset.)

=Overall philosiphy
I think that the most ideal language is a language that can be layed out and coded very quickly (like on the fly). It also needs to give you hints on proper syntax, when you can't quite remember how to do it. I wish they would develope an IDE that let's you store bookmarks for things like "how looping works" or "network connection"... and beond that, let you store your own code snippets in the same way.


Java-script / html :: This was great to first get started with the whole idea of formatting / structure of code, and also get past the code -> execution barrier (...like how hard it is to get 'hello world' to appear). plus code examples are everywhere making the learning of it very easy.

Con: Very limited in it's overall usefullness since it can't control stuff on the actual hard drive and such. I'd rate it a

10 for ease of starting
9 for the syntax structure (intuitivity)
2 for general utility / usefullness (cause it's only good for web stuff)



VBS (visual basic script) :: This was cool cause all you do is 'right click -> create new text file' and change it from .txt to .vbs It can also manipulate stuff on the hard drive.

Con: Still not 'all powerfull' because you can't use the really cool APIs of windows, and making a visual environment is kinda hard (I think possible though using web browser windows, so still pretty cool given how easy it is to start out with.)

10 for ease of starting
8 for intuitivity
2 for usefullness



*VB 6* (Visual basic 6) :: This was the first powerful language I ever learned. Really the only amazing thing about it is the fact that everything is so visual, you can immediately start programming an .exe and it will even have buttons and visual stuff.

-I Strongly recomend this one, or VB.NET for programming because once you get an idea, boom, you can start changing the interface to accomidate the feature, then when you're half done getting that feature set up, boom, another idea rails you in the face and you stop half way and start the new idea. PERFECT for me, maybe for you too. After the ideas stop coming in you can start finishing up these half done things and you end up with a program. And writing the actual code goes pretty quick too, and this code is visually organized (double click the buttons / etc). This is a monumentally helpful feature. It provides you with syntax hints too.

Cons: It's so close to being the perfect thing, but doing the more advanced visual things (like 2d games) is a little too complicated for me.

8 for ease of starting (10 if you know vbs already)
8 for intuitivity (as far as the basics are concerned)
7 for usefullness (this makes .exe files, and utilizes the API)



VB.NET :: This is the logical next step I guess... I don't really like it more than VB 6 because I'm used to doing things the other way, but .NET can be run on macs or something like that I think. You can utilizes directX with this, which means 3D.

Cons: It's got poorly documented trash like GDI+ which makes programming 2D games different than on VB.NET and I have yet to figure out how to learn GDI+...Until I figure out GDI+ it only turns out to be less powerful than VB 6...

7 for ease of starting (10 if you know vbs already)
6 for intuitivity (as far as the basics are concerned)
~9 for usefullness (does me little good if I can't learn it though)



DirectX :: I guess this is technically an API or something. GDI+ is within this api. DirectX lets you program 3-dimensional things. It lets you work with models. It's basically my dream to figure this out but...

Cons: This is borderline un-documented :( I don't think I'll ever figure it out. I'm under the impression it's more for the types of people who program cutting edge 3D games with the most amazing visual effects. I don't even have enough info to properly rate it.

1 for ease of starting (you need a phd I think)
3 for intuitivity (I was like wtf the whole time)
~9 for usefullness (only useful for 3D / gui, but that's pretty damn useful)



== About lack of good 2D / 3D programming environments
It's my opinion that there has not been proper recognition of the casual programmer / program designer that wants to impliment 3D and 2D elements into their user interface with the same ease as synonomous with VB 6. Maybe someone will share info on how this market segment is accomidated by 3D game modding developement or other stuff. I'd start another post just on this one little subject, but a language census will probably do just fine for this goal.


(sorry for the long post, I hate when they turn out like this)

ecu20
10-07-08, 12:06 PM
Sorry I don't have long to reply to this thread, but I have been seeing a major stress of c sharp and c++ in the Microsoft world, but a stress of JAVA in the business applications world.

In order to develop directX based applications, you must know c sharp/c++.

I am merely minoring in computer science, but programming comes easy to me, but it's not what i'd want to do for the rest of my life. I strive for a stimulating job, and it just doesn't cut the mustard so to speak :)

ADB1
10-08-08, 02:07 PM
Perl :: Cross platform (I have scripts written for VMS that work on windows).
Good at text processing. Lots of modules on CPAN. Sometiems I think too many.

Also good for social reasons - see http://www.london.pm.org

blueroo
10-08-08, 05:27 PM
You might play with Ruby as well. Easy to understand, very fast to develop for, cross platform compatibility.

Captain Sanity
10-08-08, 09:07 PM
What are you doing with it? That pretty much dictates what language you are best off using.

VB6 is easy to start with, but hard to finish with if that makes any sense. It's actually too complex and it's really a big mess/wreck.

If you are doing some kind of scripty stuff ie moving files around executing a bunch of system commands then you are best off with perl.

If you want to make a game, you really need C++.

If you want to make GUI stuff then Java or C # or maybe VB.net.

If you want to make a web page there are a million things you can use and none of them are really that much better than the others.

ADB1
10-11-08, 04:12 PM
You might play with Ruby as well. Easy to understand, very fast to develop for, cross platform compatibility.

I am fairly much a Perl if possible person. What particular task would lend itself to Ruby?

chowmix
10-11-08, 05:05 PM
Plain old C or C++ is good to learn on. Perl and Awk are very useful and solve certain problems quite well. In fact, trying to write everything in one language is often not the fastest solution to solving a problem. Every language has it's sweet spot. I understand the elegance of OO programming, but some OO applications are a royal pain to debug because of all the inheritance and interfaces. You can't look at a piece of code and tell what it's doing. In some flavors of OO you can't even be sure what a +,-,/,*, or ^ means.

Learn a simple language, like C or even VBA to get fundamentals solid. THEN muck about with OO stuff if you need to. Programming languages are more alike than you think. I've found knowing several languages allowed me to conceptualize solutions a bit more readily because each language has a slightly different view point of user interaction, storage and network access; sometimes you need to look outside of the box.

IMHO you become a much better programmer by learning multiple languages.

Be flexible with your language choices. Before becoming a teacher, I programmed for 30 years; languages and platforms come and go. I've programmed professionally in at least 20 languages.

If you understand the core concepts of programming, flow control, usage of memory, file and database structures, it's not hard to move from one to another. If you just learn to follow the recipes of the Language 'de 'jour, without knowing the basics, you'll get passed on. I've seen MANY people be sidelined for sticking to one language and refusing to try another.

harpseal1
10-12-08, 08:30 PM
Like some others have said Java, C#, and C++ are probably some of the biggest languages. If you know java well, C# is almost second nature. Although C++ is great for games, Java does have an open source 3D engine called Jmonkey for gaming.

But if you really want to do game modding, i suggest you take a look at the Crytek2 engine and its world editor, Sandbox2. Awesome stuff..

ADHDbutTrying
10-12-08, 10:44 PM
Ruby, Lisp, and C are my favs for different reasons - well Ruby and Lisp for similar reasons... But if you want something creative, i think ruby is really nice. I love their syntax and spend a lot of time refining and refining and refining what I code in Ruby and the program is like art just looking at the source code... But if you really want to learn what's going on when you're programming, you should probably learn C - it's the lingua franca of the computing world.

Captain Sanity
10-15-08, 04:05 PM
Java does have an open source 3D engine called Jmonkey for gaming.


I looked at it, but unfortunately it's really bad.

There are a couple of engines that allow C# as a scripting interface to a C++ programmed engine, but none of these give out the source so I would not ever use those for any serious project. For Java, there's just nothing decent out there for some reason. Not for 3D games, anyway.

blueroo
10-16-08, 02:05 AM
I am fairly much a Perl if possible person. What particular task would lend itself to Ruby?

Any task that a well formed object oriented scripting language would be useful for. Game and OS development is a stretch, however just about everything else goes.

HighFunctioning
10-16-08, 08:53 PM
I looked at it, but unfortunately it's really bad.

There are a couple of engines that allow C# as a scripting interface to a C++ programmed engine, but none of these give out the source so I would not ever use those for any serious project. For Java, there's just nothing decent out there for some reason. Not for 3D games, anyway.

.NET gives programmatic access to code compilers through System.CodeDom and other namespaces (Microsoft.CSharp, for example), which allows one to compile code in a particular programming language (C# or VB.NET) and load the resulting assembly into memory for subsequent execution. The C++ to a .NET language bridge could be made using a COM callable wrapper, and a scripting host could be written in a .NET language. Adding support for a WSH language (VBS, JS) would be a bit easier, though debugging scripts would be more difficult.

As far as the rest of the thread goes...

If I care about performance, then usually the language for the job is C++ for me. Even when I don't care about it, I still like to use it anyway, depending on the particular situation (mostly because of templates and RAII). C++ seems more TMTOWTDI (there's more than one way to do it) than other languages that are normally compiled to native code immediately.

For quick and dirty text processing and other simple programming tasks, Perl is at my disposal. I sometimes wish it had some static type checking support (prior to Perl 6) though, but for most of my uses, such would get in the way.

Choosing to use other languages is mostly related to the available libraries for a particular task. I don't particularly like Java, but I do use it on occasion (as it's productive due to the libraries written in it, and not due to the language itself in most respects). C# is marginally better, in that it doesn't require me to use anonymous classes in cases where an anonymous delegate is more convenient, but such is somewhat negated by the number of platforms in which C# is useful on (I know, it's a lot better now with Mono). Python isn't a bad language, but it seems a bit boring to program in. Ruby looks great, but I haven't had a compelling reason so far to seriously learn it in detail. The main thing that stops me from using LISP is that it is very difficult to remember the ordering of arguments to special forms, considering that it's a language with very little syntax, and that many functional programming features are available in Perl.

Louder Than Love
10-17-08, 07:18 PM
C# definitely, .NET as Highfunctioning said, as far as web based languages. Advanced CSS2, Perl, Ruby, PHP.

Im having a lot of fun with XNA right now.

Hi Scores
03-19-09, 12:34 PM
I'm using Python lately and I really like it. GUI design (using wx) has been a bit of a pain though.

NeverEver
04-03-09, 12:17 PM
Java definiately.. Platform independent, relatively fast, huge userbase.. - and It's the only language I really enjoy programming. It's just plain fun *(^_^)*

Maxwell
04-03-09, 12:30 PM
I think for pure ease of use you can't beat Python. It's a great language that is very easy to jump into. I'm a C/C++ guy, but whenever someone wants to start programming I always recommend Python.

blueroo
04-03-09, 04:45 PM
Java definiately.. Platform independent, relatively fast, huge userbase.. - and It's the only language I really enjoy programming. It's just plain fun *(^_^)*

The OP is looking for languages that are easy to use. Java is not easy to use. It's brutish, dense, and occasionally obtuse. Like telling someone to use a mac truck as their commuter car.

NeverEver
04-10-09, 06:12 PM
Whats hard with java? You dont HAVE to use generics, exceptions, etc. Simple classess, inheritance, etc isnt that hard?

blueroo
04-10-09, 06:36 PM
Whats hard with java? You dont HAVE to use generics, exceptions, etc. Simple classess, inheritance, etc isnt that hard?

Because there are far easier, more elegant languages available. Why suffer or limit yourself to the "simple" parts of Java when you could use the more complex yet accessible features of other, better, languages?

Java is a legacy language at this point. It isn't innovative and isn't particularly better than anything else. The only thing it has going for it is a wide installation base, lots of software built on top of it, and a large pool of developers. Take those three things away, and the language wouldn't stand up to its competitors in today's marketplace of programming languages. Java has momentum, and that's about it.

NeverEver
04-10-09, 07:07 PM
I think I should shut my mouth. I just know java, and love it. I would probably fall in love with some other language if I ever would get around to learn it. Stupid evil procrastination :'(

blueroo
04-10-09, 07:09 PM
No better time than now to learn a new language! Ruby and Python are extremely easy to get started in. Haskell and Erlang are growing in popularity. Everything is free, and development environments abound!

NeverEver
04-10-09, 07:19 PM
Those languages are probably fun to learn, buuuut...

If im going for a job as a programmer I should focus on either java, c++ or c#..

I get negative associations with all of those languages :P

ruby - web
python - ugly console windows and crashes
haskell - old
erlang - neverheardof

I have started a little on c++. It's so ubiquitous and has so many libs available..

blueroo
04-10-09, 07:26 PM
The funny thing about technology is that you are employable right up until you aren't. You think "I only need to know this. Everyone around me is doing it, and it's what I do now." But then some day you get fired, or laid off, or the company goes under. And you look around the marketplace and realize that you are now obsolete. The jobs doing what you just did are scarce. And it's too late to learn what you need to know.

Ruby isn't just web. It's infiltrating everywhere. It's growing like a weed. It makes prototyping new apps and features a walk in the park.

Python is absolutely everywhere. Academics, BioEngineering firms, Research facilities, Fortune 500 corporations, small shops. Python is effectively the official scripting language at Google.

Haskell is old, and yet very relevant.

Erlang was developed at Nokia to run phone switches, and is now being leveraged to build extremely fast parallelized software. Something which just keeps getting more important as the number of cores in computers keeps growing.

C++ is nice if you plan on getting a job at Microsoft perhaps. But it really sounds like you're *way* behind the technology curve...