Skip to main content

Structures: C -> Java -> Python -> Erlang

With C we had structures and unions.
I like them, because, I don't always need to embed behaviors with data(class).

So you'll do something like

With Java, I'm forced to use classes, because that's how java is structured.
They are purely object oriented. (eg: in C++)



In python, you can take java's approach; but since Python is not Java ;-) and we
tend to write less,
We'll use dictionaries (or hashes in Perl)


I'm a newbie to earlang (and to functional programming),
I think there's no dictionaries, but tuples.

Here's how we use tuples to achieve same (also applicable to python)


much like json, isn't it?
notice, there are no quotes around someone, that's an atom (this is erlang dude).

This in python:
Well, how do we understand what's what?

hmm, ok, we can tag them with atoms, (this is a programming practice in erlang world)
so our earlier example becomes,

That's it.
You can do this with python too, like as I've shown below;
(but I personally prefer the use of dictionaries, as I've shown before)
    
But don't try to write programs in earlnag way in python, why?
Python got dicts, it's just an overkill to use tuples like this.
Also, in earlang, there're some language specific features that we can make use of.

In Earlang, we extarct values using pattern matching operator,

 2nd line will cause error.

it'll fail with an error. see, how it matches atoms at LHS and RHS.
(in python, we don't have this feature, since '=' is just an assignment operator as every
other object oriented/proceedural programmer think it is.)
we can use this in many interesting ways, for example, to distuinguish different
data structures at runtime and extarct them properly.

Just for the sake of it, I'll show another method to extract values called
"unification", which is useful for selective extarction; here it is...
But differntially from object oriented approch, we no more had a template now.
We'll use functions to create and parse these dictionaries and tuples.
(Pythonists like to write more functions than classes, because, python make it
really unncessary to write classes always, and we have 'Zen of python'.)

Comments

Popular posts from this blog

AJAX File Upload with Web2py

It was not that long, since I experienced a problem while trying to upload a file using an ajax  trapped form. I thought, it must be me doing something wrong. I was using web2py  to embed another page into a page via ajax. That is better known to web2py folk as LOADing a component. It's just happened that one of such component contains a file upload form. It was my first time using LOAD function provided by web2py. Basically it make use of jQuery to load the page via ajax into a target div and traps input of any form in that page, so that page doesn't reload. Oh, I forgot to say that web2py is bundled with jQuery. It's always boring and tedious to understand a problem without experiencing it. So, Let's play with an example, (PS: I"m using web2py a full stack python framework, but you can use any language at server side and this problem will be there because, it's a problem with ajax) My model which defines table like this, In RDBMS world, it column 

My Conky Configuration File

Edit :                         (Aug 17, 2013) All my configurations including conky's are now hosted at  https://github.com/kra3/dot_files I've been hearing about this conky for a long time. I think I tried it once in my 5 years of linux experience. But, I haven't experienced it till last day. Conky is a system monitor originally based on torsmo! What the heck is this "torsomo"? Honestly, I don't know. Le me google that for you.... Torsmo is a system monitor that sits in the corner of your desktop. It's very simple, customizable and it renders only text on the desktop (and percentagebars if you want it to ;) and the only lib it uses is Xlib. Torsmo can show various information about your system and it's peripherals, including: Kernel version Uptime System time Network interface information Memory and swap usage Hostname Machine, i686 for example System name, Linux for example Temperatures from i2c-senso

My First Python Program

I am very glad today. Because I finally wrote a python program all by myself. I am programming for about 3 years. Of which 2 are using C++ (Old standard and using Turbo C++ IDE ver 3.0 and yet to master Templates and STL. [:-p]) and After starting python using Dive into Python an excellent book by Mark Pilgrim during my 1st year summer vacation, and I only completed Data Structure section. Then I found an excellent Java tutorial by Sang Shin and obtained a certificate by completing First and basic course in Java. Now I am working with My Friend to develop applications in java. We established a web site already. He started programming when he is in 10, ie. more than 2 years of experience. He has Visual Basic too in his side. Now he is doing with JSP and I am concentrating on Python, Ruby (yet to start) and CSS. Today My pleasure is that I completed a python program myself. Which is asked to do in ' A byte of Python ' by Swaroop.C.H. Which is a command line program; and he