Skip to main content

Learning the Language

Today we have a plethora of computer languages, mostly open source, to pick from to suit our needs. For example, for simple web applications, there is PHP, for programming dealing with heavy math calculations, we can use Fortran and so on and so forth. Coming to my mother tongue, Java; it is a boon for large enterprise level applications. The advantages that distinguish Java from other languages are 1. Object Oriented paradigm, 2. Automatic memory allocation and garbage collection, 3. Enterprise level support, 4. The number of java professionals available, 5. Enterprise security and many more.....
Through this post, I want to express the problems I faced while understanding the language. When I first heard the name, I didn't know that there are language paradigms like object oriented, procedural etc. A language is a set of instructions given to the computer, that's all I knew from my minuscule experience with Fortran and C. But here I was determined the learn the omnipotent language.
The first day of training was exciting with the trainer promising big. The second day he started with a comparison between procedural and OO concepts. We were told to imagine everything as object. "The chairs, tables etc are all objects, and java works with objects", he said. So far so good, but nothing related to coding, I thought. Then we started with the core OO concepts like Polymorphism, Encapsulation etc. As examples, the trainer was writing some rough code on the writing board, but hey, I don't know the Java syntax at all. What I found was that I was somehow trying to relate the concepts with the syntax, which was totally foreign to me. How exactly the Car extends the Vehicle, and how does java fit in, was the question I was repeatedly and compellingly asking myself.
So the first problem which I faced while learning java was a desperate need to at least have a basic understanding of java syntax and code structure; the knowledge that java does not start with a #include, or that java code can be distributed through different files, that there are packages, or that java code is written inside a class(!!! Yeah, most of us didn't know even that), or that Class actually means something to the language, etc. It was almost like the package and class code was something by default that the code puts in. Days went by and I was still imagining how can java make a horse a 'type of' Animal, and how a Car 'has a' engine (I was quick in figuring out the grammatical exception there ).
From my experience, the approach that I would prefer as a trainer would be to first make the trainees write a java code to print out 'Hello World!'. This would at least give them a rough structure of java syntax. So that when I tell them that class Car implements the method drive( ), they understand that I am not talking about putting engineering flow charts into the method. This should be followed by the OO concepts and so on and so forth.
The most celebrated book among java newbies, the Head First Java, follows the same approach.

Comments

Nishant said…
You exactly narrated the way I used to feel during training days.
Most of the time I hardly had a clue what was going on.

Trainer should keep in mind that people thronging into IT compnay are having distinguished backgrounds. People like us coming from Mech or Civil have no or verry little knowledge about all this concepts. And when trainer starts telling Object orientation from very first day, guys like us are bound to feel coolness of AC and start getting nap.

But personally I believe that fault is at our side also. Even though we knew that we are changing our career path and we are plunging into some IT co., we didn't even care to join some classes or educate ourselves on languages and things alike (typical engineer mind ;)). Just because at the time of placement and orientation we were told that we will be taught everything and we need not to worry on career path front, we really trusted them and didn't even try to look at things we should have looked at.

All in all, Trainer should cover syntax first and then from syntax he/she should direct us to OOConcepts rather then form OO to syntax. & if we are moving to some new things, we should at least get some idea on concepts and what we are going to learn in near future.
You know what, I still find Java cryptic...
:)

Popular posts from this blog

Thoughts on Quantum Weirdness - Part Uno

E instein loathed the very idea of quantum mechanics.  He famously stated ' God does not play dice! ' (More on that a bit later.)   Quantum weirdness spooked; he could not accept its implications since some of them conflicted with his theory of general relativity.  I don't blame him, since more than a century later, the brightest minds are still trying to reconcile relativity and quantum mechanics , despite both being verifiably true! The notion of unifying the two theories is called  ' Theory of Everything ', and the  first person to prove it  will likely get multiple Nobels. What exactly is stopping the aforementioned reconciliation, one may ask.  I would be damned if I knew it; as Richard Feynman quoted:  If you think you understand  quantum mechanics , you don't understand  quantum mechanics - Richard Feynman   So what's the problem?  Well, it's complicated and I will attempt to

My Favorite Sci-Fi Ideas

In the the frenzy of adulthood and people-pleasing, my love for Science fiction was almost lost.  I feel sad to admit that I didn't watch 2001: A Space Odyssey till very late.  Movies that reignited my sci-fi romance include Inception, Interstellar and 2001, while movies like Arrival and Contact fueled the fire that now has me hooked to the sci-fi genre. This Genre, in essence, portrays magic while trying to explain the premise in the most scientific way possible, and in my opinion is an impressive feat to achieve.  Making the movie Interstellar as scientifically accurate as possible was harder than just making a visual masterpiece.  Sci-Fi gives almost a religious feeling to its followers, which is why Elon Musk enjoys such a cult fandom, he's trying to make sci-fi a reality.  When the humans landed men on the moon, it inspired a whole generation to achieve greatness.  It's unfortunate we did not do anything so great since then. Here are my favorite Sci-Fi ide

International Anthem

Humanity is way better off right now than any other point in history.  Human suffering is at its lowest, economic growth is at all time best, technology is growing at the fastest rate ever, medical tech has more than doubled the average human lifespan in under 150 years; so on and so forth. Of course not everything is merry, the Earth as a planet is suffering from our activities, moreover there are still wars, famines, dictators and genocides.  There's still a looming threat of nuclear annihilation and the guardians of The Bombs are crazy egomaniacs. Interestingly, the concept of 'Country' seems to keep people from killing those within it en masse.  The criteria for me loving another person as a fellow 'Countryman' is quite quaint as well; he or she just has to be born in the same enclosed geographical area as me!  I automatically will be somehow related to that person under the flag of my country.  This sometimes results in Nationalism, which has worked