Wirbel

Over the last few weeks I have been looking at programming languages. I would like to move up from Bash to something higher-level. I have been studying the functional languages, like Haskell, Erlang, Lisp and so on, but I seem to be stuck in the 1970's imperative programming mindset and cannot get my mind around how to do practical programming with any of these languages.

Also, I would prefer a compiler, even a byte-code compiler, to get more speed. The executables must be small, without some great big runtime library stuck in them. For Woof, I was thinking of taking the very big step of embracing Python, with the GTK bindings, as that would open the door to a huge number of applicaions. Although, I cringe at the size that would add to Woof.

So, I might put Python into Woof, but for my own coding I'm still searching...

I'm real fussy, hate C/C++ and all the languages that use a similar syntax. I have a great dislike of the ';' delimiter -- okay, maybe irrational, but that's one big tick for Python in my book. But darn, Python is interpreted, even the so-called compilers I looked at just embed an interpreter and a huge library into the executable.

Today I found Wirbel, making its debut at Freshmeat:
http://mathias-kettner.de/wirbel.html
...very interesting!


Posted on 2 Nov 2008, 8:05


Comments:

Posted on 2 Nov 2008, 8:34 by Otto
Ruby?
I hate the C/C++ family too. I have been programming 25 years and right now I find Ruby to be my preferred language by far. You should take a look. It is very high level, but it does not come with a compiler. I tried Python first, but I have a rule about a language: I should be able to grasp the main idea in half a day; I could not with Python, but with Ruby I was doing fairly complex stuff the next morning.


Posted on 2 Nov 2008, 14:40 by BarryK
Hello World size
I am playing with Wirbel and created a "Hello World" executable. The source file 'hello.w' only has one line:

print("Hello World")

Then I did this:
# wic hello.w

The resulting executable 'hello' after stripping is 22KB.



Posted on 2 Nov 2008, 16:09 by Prit1
Thanks Barry
Barry,

I find it very interesting to hear about these unusual languages, packages and utilities you find out and share with all of us. For example, you introduced PPLOG, Wirbel, Hiawatha and so many similar stuff to us.

I am definitely going to try Wirbel too, when I get a little free time from my hectic schedule at work.

Regards,
Prit


Posted on 3 Nov 2008, 3:23 by Dougal
Dubious Languages
The folks on LWN always keep going on about Ruby (+On Rails) and OCaml and I think they mentioned in the past that there are compilers for both.


Posted on 3 Nov 2008, 23:29 by Greatnessguru
PostScript
Yep.
I'll say it again: PostScript.

Thank you,
Eddie Maddox



Posted on 4 Nov 2008, 3:53 by raymundo dionicio
Please do not leave bash
Dear Barry:

To me the great innovation is happening in the small distros.
Puppy has been the little jewel of all them.
Bash was the second app to be run on top of the kernel.
So bash is as natural to Linux as C.
In structuring a small platform bash is incuestionable.
Promoting a micro LSB on top of wich application developers can confidently build could be very helpfull to all.
I do not see Perl o Python being part ot that micro LSB.
I think of bashdiff or lua. Maybe python could be build light, a la "inkscape lite". This could promote programming.


Posted on 4 Nov 2008, 4:32 by raymundo dionicio
bashdiff: a little review
Dear Barry:

Here it is a little review of bashdiff:

http://www.linux.com/feature/150783


Posted on 5 Nov 2008, 14:22 by rarsa
It's never about the language
Barry,

Just remember that it is never about the language but about how fit it is for the purpose. On one hand Business apps in C/C++ makes as much sense as Device drivers in Cobol. On the other, more generic languages come with a cost to serve the varied needs. I like python, I enjoy C#, I admire the simplicity of C but ultimately when thinking about Puppy plain bash scripting is great for process scripting (e.g. boot scripts), but it's a pain for UI development. What purpose are you trying to meet? whatever it is choose the language accordingly.

Compiled code may be fast, but for FLOSS there is nothing better than having the source along with the program. that's one of the benefits of scripted languages.

Besides, performance is important for process intensive applications (e.g. image rendering or transaction processing) but for every day tasks (e.g. network wizard) you'd be hard pressed noticing the difference.

So form follows function. In this case, form is the actual language chosen.


Posted on 5 Nov 2008, 22:16 by Minnesota
Higher Level Languages
Barry:

I have programmed since 1968. Everything from school systems to financials and Payrolls to ground water simulations and... on and on... I also have taught may programming languages, all the way from my original language FORTRAN to RPG to COBOL to several database languages.

LOOK INTO HIGH Level languages.. ie data base if you want faster production. I admit I am not a bit twiddler...but have done so with assembler languages. However if you want to produce production in a reasonable time frame.. look into higher level languages. I am new to the Linux world and therefore can not recommend any... but having used and taught all levels of languages and programmed successful systems. Some running ten or more years unattended. You can make just about any language work.. but your time is valuable.

In the long run your time is better spent on accuracy and ease of user interface. And above all ERROR checking. Remember, as I am sure you do... what you write may be executed millions and millions of times.. the effort spent on error checking and bullet proofing far out ways the extra time spend.


You will produce a clean produce much faster in a higher level language. When you need the speed of lower level programming it can usually be easily interfaced to the higher level.

Also keep in mind it will take you a year to be comfortable with any new language. I know that sounds like a long time, but trust me... you will learn the basic functionality of the language much sooner, but to become proficient and comfortable it will take a year of usage.

Hope this helps with your decision.




Posted on 6 Nov 2008, 10:48 by Damien Guichard
Functional languages are darn powerful

My prefered one is Objective-Caml :
* open source
* functional programming with type inference
* also accepts imperative and OOP styles (still type-infered)
* compiles to native code
* also compiles to portable byte code
* yet still has an interpreter (at bytecode speed)
* interfaces with C
* GTK2 bindings here: http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/lablgtk.html

My (french language) OCaml tutorial:
http://damien-guichard.developpez.com/tutoriels/ocaml/



Posted on 6 Sep 2009, 13:51 by InHuman
Erlang, Yaws, ErlyWeb, Nitrogen
Glad that I found you were also interested in Erlang. I'm trying to find a good distro for my development in Erlang.

Have you ever thought of making a puplets that for Erlang development only? I'm not good in Linux so I have hard times figuring stuffs in Linux. Most of the time I program on Windows, but now I'm in a team project, and my team members are all using Linux, so... :)

Please mail me at my gmail at es.en.te{without dots}