Welcome, Guest: Register On Nairaland / LOGIN! / Trending / Recent / New
Stats: 3,150,774 members, 7,810,007 topics. Date: Friday, 26 April 2024 at 06:39 PM

Why I Love Ruby - Programming (2) - Nairaland

Nairaland Forum / Science/Technology / Programming / Why I Love Ruby (10317 Views)

Ruby World: Ruby Programming Whatsapp Group / Were Can I Download Free Video Tutorials On Javascript Or Ruby / Were Can I Download Free Video Tutorials On Javascript Or Ruby (2) (3) (4)

(1) (2) (Reply) (Go Down)

Re: Why I Love Ruby by asalimpo(m): 5:34pm On Mar 09, 2016
Olumyco:



So u hate Ruby, Python, php etc like dis. U r funny......

Point of correction these languages r not 4 lazy pple. That d learning curve of dese lang r easy do not automatically transit 2 laziness. If u really want to prove a point in this vein it would av bin beta 4 U (and many of us) 2 learn assembly or probably C and stick to it alone.

The learning curve is easy and the rigorousness is sloppy.
Ruby even allows for mutability of strings!
Like i said, in the hands of Master programmers, they can craft masterpieces with them. But in the hands of the untrained masses flocking into programming, these languages are just ticking time bombs. Tools for creating the next monster mess out there.
A programmer that only knows these scripting languages is no real programmer at all.
Re: Why I Love Ruby by Olumyco(m): 11:59pm On Mar 09, 2016
asalimpo:

The learning curve is easy and the rigorousness is sloppy.
Ruby even allows for mutability of strings!
Like i said, in the hands of Master programmers, they can craft masterpieces with them. But in the hands of the untrained masses flocking into programming, these languages are just ticking time bombs. Tools for creating the next monster mess out there.
A programmer that only knows these scripting languages is no real programmer at all.


Don't say dey r not real programmers..... The mutability u mentioned is a powerful tin in programming like other features/paradigm of programming....

Ok look at Java. Just of recent Java got functional. Now functions can b treated as first class citizens in Java. U can imagine why did Java decide to go functional ?

What gave birth to C++, objective C and co when C is alive?

U shud start getting my point abt productivity.


Addons

Here is a farmer who decides to move into mechanised farming. And here is anoda farmer who wants to continue in his primitive way of farming ( Cutlass and hoe)

Now can u say d farmer who is into mechanised farming is not a real farmer because he does not sweat like d other farmer who uses cutlass and hoe. Can u say d farmer is lazy?

Consider drivers dat drive automatic gear vehicles. Can u say they are not real drivers?


We shud b mindful of our choice of words.......

Every language has its own area of Strengths and weaknesses
Re: Why I Love Ruby by asalimpo(m): 2:49am On Mar 10, 2016
Olumyco:



Don't say dey r not real programmers..... The mutability u mentioned is a powerful tin in programming like other features/paradigm of programming....

Ok look at Java. Just of recent Java got functional. Now functions can b treated as first class citizens in Java. U can imagine why did Java decide to go functional ?

What gave birth to C++, objective C and co when C is alive?

U shud start getting my point abt productivity.


Addons

Here is a farmer who decides to move into mechanised farming. And here is anoda farmer who wants to continue in his primitive way of farming ( Cutlass and hoe)

Now can u say d farmer who is into mechanised farming is not a real farmer because he does not sweat like d other farmer who uses cutlass and hoe. Can u say d farmer is lazy?

Consider drivers dat drive automatic gear vehicles. Can u say they are not real drivers?


We shud b mindful of our choice of words.......

Every language has its own area of Strengths and weaknesses

ruby,python,php , perl ,javascript are good for writing quick scripts. Productivity wise they save time. So yes,theyre productive. They cut out the ceremony and go straight to d point. A program could be in production in a few hours that would take days with other languages. Corporations, wanting to get more done in less time are hiring more of these language programmers. Great.
Infact,in the future they'll be less use of slower (production wise) languages.
But when the code base begins to grow, that's when these languages begin to crumble.
Testing becomes a nightmare.
Too much testing must be done to ensure the right type is returned or passed. Oops!
When a language takes static typing from you,it's putting the burden on your test suite to do the checking. As code grows so will your test code grow. In essence, you are doing the static typing yourself.

When a language , takes away structure and makes it optional,
e.g you can just write a line and it'll print to screen,
you reduce your programs to a simple list of statements,

it is training you to be lazy and sloppy enticing you with instant feedback.
You can get by with this attitude writing easy to medium throw away codes, but when the project becomes huge, you'll hate the day you chose a scripting language.
If you've ever written medium size applications, you know a lot of time goes into creating scaffolds and artifacts that allow for easy extendability or maintenance of programs.
You begin to thank God for those polymorphism constructs etc.

Scripting languages should only be used by experts.
Pros. Not noobs. The world is being fooled into thinking programming is for everybody, by thse "easier" languages and inviting the lazy world in. People without the discipline and rigour to succeed,they come in with their indiscipline and create a pile of mess for all other disciplined folks to address.
Also,notice that when the program begins to get large and complex, the scripter now has to code in a more disciplined style, like he wouldve had to if he wasnt using a scripting language. He has to use classes, inheritance, polymorphism, think more abstractly rather than pragmatically etc.
Re: Why I Love Ruby by Olumyco(m): 2:59pm On Mar 10, 2016
asalimpo:


ruby,python,php , perl ,javascript are good for writing quick scripts. Productivity wise they save time. So yes,theyre productive. They cut out the ceremony and go straight to d point. A program could be in production in a few hours that would take days with other languages. Corporations, wanting to get more done in less time are hiring more of these language programmers. Great.
Infact,in the future they'll be less use of slower (production wise) languages.
But when the code base begins to grow, that's when these languages begin to crumble.
Testing becomes a nightmare.
Too much testing must be done to ensure the right type is returned or passed. Oops!
When a language takes static typing from you,it's putting the burden on your test suite to do the checking. As code grows so will your test code grow. In essence, you are doing the static typing yourself.

When a language , takes away structure and makes it optional,
e.g you can just write a line and it'll print to screen,
you reduce your programs to a simple list of statements,

it is training you to be lazy and sloppy enticing you with instant feedback.
You can get by with this attitude writing easy to medium throw away codes, but when the project becomes huge, you'll hate the day you chose a scripting language.
If you've ever written medium size applications, you know a lot of time goes into creating scaffolds and artifacts that allow for easy extendability or maintenance of programs.
You begin to thank God for those polymorphism constructs etc.

Scripting languages should only be used by experts.
Pros. Not noobs. The world is being fooled into thinking programming is for everybody, by thse "easier" languages and inviting the lazy world in. People without the discipline and rigour to succeed,they come in with their indiscipline and create a pile of mess for all other disciplined folks to address.
Also,notice that when the program begins to get large and complex, the scripter now has to code in a more disciplined style, like he wouldve had to if he wasnt using a scripting language. He has to use classes, inheritance, polymorphism, think more abstractly rather than pragmatically etc.

For every action there is always a reaction. The issue of heavy testing/debugging as a result of dynamic typing is enough to say there is nothing like "a language for lazy people".

There is a purpose for everything. I think there is a purpose for microsoft introducing dynamic typing into vb.net despite the fact that vb6, its antecedent is statically & strongly typed.

I can see you are trying to differentiate the languages but you should do it without sentiment. Most of what you are saying here are more personal than general. Different programming languages have their strengths and weaknesses. That is why many projects are done with more than one languages which is subjective to d decision maker of the project.

I am actually making some stands here so dat we will not misinform d nxt person. Java is powerful in its own domain so are python, ruby, JavaScript and so on.... but you cannot because you sweat doing sometin in one programming language now tell people who will not sweat doing that same tin in anoda language dat dey r lazy. It is just like a primitive farmer telling a mechanized farmer dat he is lazy.
Get dis right dynamic typing has its own purpose. Laziness is neva intended. Even programming itself, I mean the 'act of programming' where you formulate algorithms and data structure is not for lazy people. B4 U solve a problem U would av done a lot of thinking. The programming language U use to finalize d solution is just syntax, semantics, typing and paradigm.

Even the typing discipline you are bringing up is very deep because we av different variations.

Typing Discipline Variation

Dynamic vs Static

Strong vs Weak

The two above are d main variations but we still av others like nominative, duck etc

Now you are U r talking about typing discipline as if it is a one way tin. I want you to know dat it is possible for a language to be dynamic and still be strongly typed at desame time and also vice versa. Any language can adopt its own style.
For example the so called Python U r antagonizing is dynamically and Strongly typed. Also C is static and weakly typed. Some languages are even dynamic and at thesame time static like vb.net and C#.

"He has to use classes, inheritance, polymorphism...."

Yes he has to use OOP.. The above feature you wrote too are in the languages in question. In fact, Ruby has one of the best OOP feature in the World of programming languages.

You talked about large projects. U can check Google, Facebook and co for dat.


All these we are even saying is by choice. The rigour of testing/debugging, complexities and so on are crosses for us to carry based on our choice of programming language. Java guys have their own to carry. dotnet guys have theirs. Python guys have theirs. So no one is free.

I quite get some of the points U made and I am not saying Ruby, Python etc are better in every way. But I stand on the fact dat they r not for lazy people and also dat dey can be used for big projects. It depends on how good the programmer is and also "choice".

Then again I see U r used to the word "scripting language". And U use it as if there is sometin deficient abt it. Well in today's world it is beta put dis it dis way - 'Classical Scripting Language' or "scripting language traditionally". Scripting is not a language tin. It is not a language feature. It is the implemention dat has it. There is no rule dat says a language cant be compiled or interpreted. C has interpreters. Perl has compilers. Facebook is treating php as a compiled language.
If U research about a language U will always see the various implementation facilities available for it. In ICT there r many terms dat are not got right because of where we are coming from and where we are today (i.e The difference btw d the past and the present). An example is scripting language. It is confusing (attaching d word 'scripting' to language) and dis can be traced back to history where there was only one way a language could be implemented. But today there are many ways. Anyway scripting is even more dan implementation. It is also d way a language is used. C++ can be used to script anoda application. Conclusively Scripting is both implementation and application.

Thanks....

(1) (2) (Reply)

What Are The Worst Ways Of Learning Programming? / Let's Build An App That Can Predict Bet9ja Virtual League (FUN PROJECT) / Difference Between Game Developer & Computer Programmer

(Go Up)

Sections: politics (1) business autos (1) jobs (1) career education (1) romance computers phones travel sports fashion health
religion celebs tv-movies music-radio literature webmasters programming techmarket

Links: (1) (2) (3) (4) (5) (6) (7) (8) (9) (10)

Nairaland - Copyright © 2005 - 2024 Oluwaseun Osewa. All rights reserved. See How To Advertise. 54
Disclaimer: Every Nairaland member is solely responsible for anything that he/she posts or uploads on Nairaland.