PDA

View Full Version : What are some fun simple languages to learn.



indigo0086
10-13-2006, 07:28 AM
*waits for inevitable*

Right now I'm pretty familiar with Java and am learning C++ to a slow progression, and wanted to know are languages like perl or C# nice languages to learn "on the side". I'm interested in C# because of the whole XNA thing since I know groups that are starting to create games with them, and have seen people pick it up and in a week start making neat stuff. I've also heard a lot of perl being interesting to learn. I've been told that C# is pretty much close to java and it won't be hard to pick up.

SMurf
10-13-2006, 07:32 AM
C# sounds like a good idea for you, no real surprises given your Java/C++ experience, plus it has commercial significance.

Not sure why you'd want to learn Perl though, I dabbled in it couple of years back but I've since forgotten everything. Can be pretty tricky once you get into the whole regexp thing. :o

Mario F.
10-13-2006, 07:43 AM
If "fun" is the operative word I would consider learning Haskell or any other functional programming language. That is what I will want to be doing in a couple of years as a sidestep to my ongoing C++ learning process.

I find functional languages extremely interesting and... you got it; fun!

swgh
10-13-2006, 07:51 AM
good basic! I used to love the old style in the early 1990's!


print"Enter your name: "
input a$
print"hello a$ how are you?"
end
run

Salem
10-13-2006, 10:53 AM
If you don't fancy the whole gamut of perl, try it's older and much more compact sibling - awk.

CornedBee
10-13-2006, 12:54 PM
I agree with Mario. Haskell and Lisp can be great fun. But they are not exactly simple.

Ruby could be fun too, or JavaScript - modern JavaScript (get a Firefox 2 release candidate) can do very cool stuff.

Perspective
10-13-2006, 01:17 PM
Python, Lisp

Sentral
10-13-2006, 01:28 PM
LUA Scripting Language is pretty cool. It's popular with Half-Life 2, for making mini-mods. If you like modding games, it's a good language to learn. Or another alternative is UScript (Unreal Scripting), another popular scripting language similar to both Java and C++.

Wraithan
10-13-2006, 02:49 PM
I <3 Perl, some stuff can be developed SOOO much faster, and with decent programming habbits it isn't hard at all to be OO. Remember though, a file that you include needs to have a 1 at the end... gets me EVERY time, even though I have been programing in Perl for little over 2 years.

valis
10-13-2006, 02:51 PM
brain........ and befunge--especially befunge

pianorain
10-13-2006, 09:23 PM
Another vote for Lisp. The concepts are so interesting.

Happy_Reaper
10-15-2006, 03:23 PM
I remember, when I was young, I used to love programming my old TI-83. Not a very powerful language, but simple and easy. And it gets the job done for what you intend to do.

webmaster
10-15-2006, 04:20 PM
If you're going to learn Perl, you might as well learn Ruby instead.

Scheme (or Lisp) is very cool too, but they take some getting used to. Scheme is also nice because it's useful to learn languages with different programming models; once you know one language in a given style (e.g., OO), it's usually fairly easy to pick up the second. Switching between styles is what can be difficult.

Wraithan
10-15-2006, 04:24 PM
I have found no need for Ruby thusfar. I use Perl all the time for quicky things and simple UIs and what not. And have only used Python in its Jython form.

Perspective
10-15-2006, 04:28 PM
I once had a professor who described Python as "Perl for humans". It's a programmer friendly language, very rich libraries, and can be executed as a script or compiled.

Wraithan
10-15-2006, 04:30 PM
It's syntax hurts my brain...

Mad_guy
10-15-2006, 07:22 PM
LISP is one of the greatest programming languages ever if you ask me. I think learning it is a very good experiance for all programmers, even if you never really use it. A lot of people I talk to prefer Scheme as it is more minimalist, but I prefer Lisp myself. If I wanted a lisp-oriented language to embed, I would much rather use Scheme however. I'll give Scheme a good wack one of these days though, so my preference may change, but I doubt my opinion on Lisp/Scheme in general will really ever change.


I also believe that Erlang (http://www.erlang.org) is very well worth a look. It's messaging system and design from the ground up to be concurrent and distributed is extremely interesting if you ask me. I actually wrote a blog post (http://austin.youareinferior.net/?q=node/15) on Erlang just a week or two ago, got quite a few hits from Reddit. I think it's an extremely powerful language and it offers a lot of cool features. While many languages these days have concurrent and symmetric libraries for process concurrency, Erlang is different as it has a very powerful Message-based system for passing data inbetween erlang processes. I find the mechanism very powerful and appropriate for Erlang.

Dweia
10-15-2006, 11:04 PM
I haven't seen anyone mention PHP yet so I will.

I found it an extremely easy language to learn, syntax is basically C syntax, www.php.net has a good function reference.

Otherwise, Perl isn't too bad once you get over its...'quirks'.
I tend to use Perl for most of my simple scripting stuff at home.

CornedBee
10-16-2006, 01:03 AM
The thing is, after working a lot with PHP on medium-sized projects (~4 people, a few thousand lines of code), I don't think it fun anymore. At all.

It lacks the safety static languages such as Java provide, while not providing the flexibility really dynamic languages such as Ruby or JavaScript offer.

maxorator
10-16-2006, 02:36 AM
It lacks the safety static languages such as Java provide, while not providing the flexibility really dynamic languages such as Ruby or JavaScript offer.
I can't say you're right about that. PHP is safe. Have you ever caused a "server crash", "buffer overflow" or something like that with PHP? It is not possible. I think PHP is FUN. It's easy, safe, fun and what do you think most of the web sites in the world made their systems with?

CornedBee
10-16-2006, 03:00 AM
I'm talking about safe as in type safety, early error detection, all that stuff a compiler can do for you.

And yes, I have caused a server crash in PHP. (It was a bug in the engine, but still ...) And over time, dozens of buffer overflows have been detected (and fixed) in various PHP functions.

I know it's easy. I know it's not safe: it encourages bad practices. Look at any PHP+MySQL tutorial out there, and you'll find that it probably uses string concatenation to build queries with data - an invitation to an SQL injection the moment magic quotes are switched off. And in some other circumstances.
Ah, magic quotes. Source of many a stray backslash in text.
Then there's register_globals and how simple it is to use uninitialized variables. Together, these are quite the killer.

The success of PHP comes from its ease of installation, ease of learning (but it's far harder to learn it properly), great availability, and of course its huge built-in library. It's great for quickly doing something.

But larger systems are, in the end, an abuse of PHP. Its lack of proper package management, hard-to-predict include paths, lack of namespaces and unit-local functions, all those work together to make large systems rather awkward.


To me, PHP is a language to get work done in, just like Java. But it's not fun.

maxorator
10-16-2006, 05:25 AM
Browser-based games
Message boards
Portals
Online shops

Internet is all PHP. There are few exceptions.
Even the page you are currently looking at. You can't deny it. It's there.

I still think PHP IS fun. I have made many many funny things with it.

indigo0086
10-16-2006, 07:34 AM
lisp looks too similar to some logic concepts, which I hate.

CornedBee
10-16-2006, 08:01 AM
:rolleyes: I'm not denying anything.

indigo0086
10-16-2006, 08:06 AM
just a side comment, but every time I see your post I immediately notice the smilie in your sig and think, "he's being sarcastic again". Now that I have learned here you go disrupting that again. :p

Perspective
10-16-2006, 11:33 AM
Browser-based games
Message boards
Portals
Online shops

Internet is all PHP. There are few exceptions.


JSP, J2EE, .NET, Python CGI, Ruby on Rails, C/C++ CGI, Perl CGI, etc.....

There are many exceptions, php is one of many technologies for dynamic content on the web.

twomers
10-16-2006, 11:38 AM
PHP in my opinion, is an "I can't believe it's not C" language! fopen, fclose, fgets, probably gets ... etc etc. I like it all the same. Feels comfortable though. You can do a lot with it! The only annoying thing about it is that it has to be hosted :/

maxorator
10-16-2006, 11:52 AM
I have my own web server running on my computer.
It can't be accessed from elsewhere but I can test my PHP things.

Wraithan
10-16-2006, 11:56 AM
PHP can be compiled... a program like phpBlender or something like that.. been a long time since I looked into it.

I have been on projects with 7+ people working on massive amounts of PHP code and making it work with Java. We eventually changed to using Perl CGI for most of the work and background stuff, and PHP just for the pretty dynamic frontends you can make easily.

Doodle77
10-16-2006, 04:55 PM
one word: brain........
well, the censorsk dont really like the language, but i'm sure you will (not)

Dweia
10-17-2006, 06:11 AM
I'm talking about safe as in type safety, early error detection, all that stuff a compiler can do for you.

And yes, I have caused a server crash in PHP. (It was a bug in the engine, but still ...) And over time, dozens of buffer overflows have been detected (and fixed) in various PHP functions.

I know it's easy. I know it's not safe: it encourages bad practices. Look at any PHP+MySQL tutorial out there, and you'll find that it probably uses string concatenation to build queries with data - an invitation to an SQL injection the moment magic quotes are switched off. And in some other circumstances.
Ah, magic quotes. Source of many a stray backslash in text.
Then there's register_globals and how simple it is to use uninitialized variables. Together, these are quite the killer.

The success of PHP comes from its ease of installation, ease of learning (but it's far harder to learn it properly), great availability, and of course its huge built-in library. It's great for quickly doing something.

But larger systems are, in the end, an abuse of PHP. Its lack of proper package management, hard-to-predict include paths, lack of namespaces and unit-local functions, all those work together to make large systems rather awkward.


To me, PHP is a language to get work done in, just like Java. But it's not fun.

Just as well this topic is about a language to learn for fun, rather than a serious language to use for large scale projects.

As has been mentioned, it's easy, it's very much like C, it has inbuilt functions for most things you'll ever need to do, which make it an easy and relatively painless language to learn and use for small projects, like a small website, etc.

maxorator
10-17-2006, 06:31 AM
...use for small projects, like a small website, etc.
Or a HUGE website. Most HUGE sites in internet are made with PHP.

lilrayray
10-18-2006, 07:08 PM
Isn't php often used for databases (PHPBB, wikipedia, etc.)?


Or a HUGE website. Most HUGE sites in internet are made with PHP.

Not just PHP though. Often a site will be built around many different languages.

maxorator
10-19-2006, 07:00 AM
You can't say they're FOR databases, they USE databases.

lilrayray
10-19-2006, 07:58 PM
how about, PHP is used to manage databases? happier?

maxorator
10-19-2006, 11:54 PM
It wasn't that offensive...

indigo0086
10-20-2006, 07:01 AM
By Easy I meant the learning curve and simplicity of the syntax btw, not the implementation which is generally not something trivial. Something I can pick up and play with.

lilrayray
10-20-2006, 01:37 PM
and i did not mean to imply that I was offended...