site  contact  subhomenews


November 02, 2008 — BarryK
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:
...very interesting!



Hello World size
Username: BarryK
"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.

Thanks Barry
Username: Prit1
"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

Username: Greatnessguru
"Yep. I'll say it again: PostScript. Thank you, Eddie Maddox

Please do not leave bash
Username: raymundo dionicio
"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.

bashdiff: a little review
Username: raymundo dionicio
"Dear Barry: Here it is a little review of bashdiff:

It's never about the language
Username: rarsa
"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.

Higher Level Languages
Username: Minnesota
"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. [b]LOOK INTO HIGH Level languages[/b].. 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.

Functional languages are darn powerful
Username: Damien Guichard
" 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: My (french language) OCaml tutorial:

Erlang, Yaws, ErlyWeb, Nitrogen
Username: InHuman
"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}

Tags: woof