An interesting summary of an interview with Yukihiro Matsumoto, the creator of #Ruby programming language about ‘What’s a Perfect Programming Language ‘

🧵 A Thread for 🧵

#CodeNewbies #100DaysOfCode
(Yukihiro Matsumoto):

Language designers want to design the perfect language. They want to be able to say, "My language is perfect. It can do everything."

But it's just plain impossible to design a perfect language, Why ?
Because, there are two ways to look at a language.

One way is by looking at what can be done with that language.

The other is by looking at how we feel using that language—how we feel while programming.
According to Turing completeness theory, everything one Turing-complete language can do can theoretically be done by another Turing-complete language, but at a different cost.
Turing completeness theory, everything one Turing-complete language can do can theoretically be done by another Turing-complete language, but at a different cost.
You can do everything in assembler, but no one wants to program in #assembly language anymore.

From the viewpoint of what you can do, therefore, languages do differ—but the differences are limited.

For example, #Python & #Ruby provide almost the same power to the #programmer
Instead of emphasizing the what, I want to emphasize the how part: how we feel while programming.

That's Ruby's main difference from other language designs. I emphasize the feeling, in particular, how I feel using Ruby.
I didn't work hard to make Ruby perfect for everyone, because you feel differently from me.

No language can be perfect for everyone. I tried to make Ruby perfect for me, but maybe it's not perfect for you.

The perfect language for Guido van Rossum is probably #Python
The best advice for #CodeNewbies in choosing a language, pick up what you feel comfortable with syntax & how you feel while learning in the beginning.

You can choose any #javascript #Python #Java #Ruby #C #CPP
If you want to be a #webdeveloper , #javascript #ruby

& #MachineLearning : #Python #Julia #R

If you want to be Systems Developer : #C #CPP #bash #Java

There are many, to begin with these are recommendations.

Good luck #CodeNewbies (Share if you find it useful) #AlgosCamp

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Algos.Camp

Algos.Camp Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(