Give me a language


I justed needed a language to code in..

Now that I'm divorced, I suddenly found meself with plenty of time to spare, even despite the day job. It was a relief, and I inclined back towards my binary sweetheart.

What I had in mind was to develop simple web based applications. Nothing in particular, I just wanted to experiment, for I hadn't coded anything for quite some time. So I began searching around, trying to pick up a language that would be both interesting to play with, and also somewhat efficient.

I'm not an actual hacker, but netiher I am a newbie. So before you begin yelling out and promoting your-language-of-choice, please take a look at my needs:

My experience: I first began programming on a Casio calculator, which had a BASIC implementation. Then I moved to GW BASIC on the pc. Then came Pascal and Fortran, during high school courses. I always avoided C. In college I drifted away from programming, and toyed with HTML. For a while I played with Assembly, but got bored too quickly, as it was too limited in terms of portability. Then I adopted Python, it was 1.4 I think, and it was a nice experience. Then I quit. I kind of lost interest, and also didn't have much time to spend (yeah, marriage).

Given that, here's a more recent me: I believe that server farms will soon replace desktop pcs. Not every pc, of couse, but I believe the majority of people who use their boxes just to surf the internet will soon have a more viable (and cheaper) solution, similar to the $100 laptop. Or even mobile devices, or gaming consoles. Anyway, my rationale was that web based applications were the way to go. So that's what I sought, a language to build the 2.0 experience on.

Rails, right. That's where I started, buzz and all. But I wanted to first study Ruby itself, so I read the talking foxes and the pragmatic tutorial. Actually, I didn't finish either of them. Ruby looked better (and more fun) than Python (as I knew it), but I had a hunch that I was looking at the wrong place.

So I searched more, and came up with Paul Graham. Is there anyone out there who read his essays and not tried out Lisp? I was amazed, and spent several days with the HyperSpec and On Lisp.

Lovable as Lisp was, I was dubious again. My favorite hosting company didn't support Lisp (what a surprise). It had extensions for Ruby, Rails, and Python, and PHP of course. I tried to find a decent (and not expensive) host that did provide Lisp support (or at least shell accounts) but I grew tired before I succeeded.

I took on Python, over again. It still made sense, everything in its right place, batteries included. Except that there were too many batteries now. Django, web.py, TurboGears, Zope.. I was, well, lost. Did I need all this stuff?

I reverted back towards the Ruby side. I actually tried out Rails this time. And ended up with a bunch of subdirectories. Many of them had even scripts in them. What does dispatch do, again? Not sure I needed all these scripts, and certainly not I wanted (a bunch of files popping up by themselves).

I gave up toying around, and took on PHP 5. I had always avoided PHP, like I did C. Why? Because they're both ugly. I thought (wanted to believe) that coding is about elegance, but probably I was a fool. So here I was, trying to implement a simple app in PHP. Guess what? I got bored..

I realized what I wanted was a small but extensible language, which I could shape myself, according to my own taste. Google led me to Scheme. Lisp again? Well, I loved the intro.. The whole language came with a standard (of 50 pages) that was about the length of the index of Common Lisp. I searched for a common implementation, but to my surprise, most of them had non-portable features that tried to imitiate Common Lisp itself.

Back to square one.

There you go, my quest in the past couple of weeks, with my basic background.

What I want, is a language, that is both interesting and not too-out-of-the-mainstream (so that I can find a plausible host).

My main focus is developing amateur web based applications in my spare time. I'm not a web startup, nor incorporated, so I wouldn't be looking into dedicated servers for hosting (still too expensive, as a hobby at least).

Any ideas?



7 comments:

Andy said...

I would say continue on with PHP and maybe throw some AJAX in there and see what you can come up with. If you're getting bored, it's usually not the language's fault; it's the development. You should come up with a clever application that you would like see, need or think other people might enjoy and start developing it. The fun in programming is more in the process than in the final product (although having a final product is very satisfying). If you want something simple to work on and don't want to start from scratch on a project, there's always extensions for existing applications. A great intro into extension development would be developing one for Firefox. There are lots of tutorials online that get you started on that. You never know you might come up with something useful and have fun along the way.

Nick Brismut said...

Thanks for your advise. AJAX is a shining node for sure. But I'm still doubtful about PHP. Is it still good enough? Is it me, or is PHP becoming (or has become) the C of interpreted languages? And, even, what do you think of Zend's license?

And a friend reminded me of Java, but I slapped him away. I had read somewhere (can't remember where) that Java is actually a billboard sign that points to Sun, and I totally agree.

Siddhartha Gandhi said...

PHP. 100% Trust me on this.

Anonymous said...

PHP
Zend engine not good enouth ?

try PHP Compiller ;)
http://www.roadsend.com/home/index.php?pageID=compiler

Robert said...

COBOL

go for it

Robert

Robert said...

Ok on a more serious note:

Nick,

Java is not a billboard. It has taken a long time, but it is becoming a truly open standard. ( Sun recently announced that the code to implement Java will be released in coming months under the GNU GPL ).

C# may also have the legal status of an open standard, but the folks at Microsoft and Novell would know more about that than me.

You might want to skim through the first chapter of "From Java To Ruby" in the Ruby section at the bookstore, there are some interesting points of view there. ( I say interesting, not accurate or unbiased, since I am not expert in Java and Ruby I cannot say more ).

I , by the way , have been using C++ ( and a little Python ) over the past five years. Both are great choices.

Robert

Nick Brismut said...

Hi Robert, thanks for stopping by again. I was still dubious about checking out COBOL =)

Yes, Sun seems to be ^finally^ opening Java, but I think it's only the javac and VM for now. Perhaps the billboard thing is a bit harsh, but I still wouldn't want to adopt a language/platform that's not fully open source.

Same goes for C#.. And I haven't even mentioned ASP or .NET crap at all, as you probably noticed.

C++ is definitely a solid choice. But like I said, I avoided it as much as I could even for normal (desktop) coding. So I don't think I'll ever use it for web stuff. It's like shooting a cannon at a fly anyway, unless you're coding real serious stuff.

From what I looked into so far, I think I'll be using PHP and Python. The Java to Ruby book sounds intriguing, I'll definitely try and check it out.

Thanks for your advice, see you around..