SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
Ako si vybrať
programovací
jazyk alebo
framework?
Jano Suchal
@jsuchal
Get the right tool for the job, yo!
Keď máš kladivo, všetko vyzerá
ako klinec.
Ako si vybrať?
Ako si vybrať?
Koho sa pýtaš?
Zákazník
Zákazník
“WTF?”
Zákazník
“WTF?”
Jediná správna odpoveď.™
Manažér
Manažér
Koľko to stojí?
Manažér
Koľko to stojí?
Koľko to ušetrí?
Manažér
Koľko to stojí?
Koľko to ušetrí?
Kto to ešte používa?
Manažér
Koľko to stojí?
Koľko to ušetrí?
Kto to ešte používa?
Ako rýchlo Ťa vymením?
Programátor
Popularita
Popularita
Popularita - TIOBE index
Popularita - TIOBE index
The ratings are calculated by counting hits of the most
popular search engines. The search query that is used is
"<language> programming"
This search query is executed for the top 150 websites of
Alexa.
Kde mi za to zaplatia?
Kde mi za to zaplatia?
Kde mi za to zaplatia?
Kde mi za to zaplatia?
Kde mi za to zaplatia?
Aké je to rýchle?
Aké je to rýchle?
n-body Perform an N-body simulation of the Jovian planets
fannkuch-redux Repeatedly access a tiny integer-sequence
meteor-contest Search for solutions to shape packing puzzle
fasta Generate and write random DNA sequences
spectral-norm Calculate an eigenvalue using the power method
reverse-complement Read DNA sequences and write their reverse-complement
mandelbrot Generate a Mandelbrot set and write a portable bitmap
k-nucleotide Repeatedly update hashtables and k-nucleotide strings
regex-dna Match DNA 8-mers and substitute nucleotides for IUB code
pidigits Calculate the digits of Pi with streaming arbitrary-precision arithmetic
chameneos-redux Repeatedly perform symmetrical thread rendezvous requests
thread-ring Repeatedly switch from thread to thread passing one token
binary-trees Allocate and deallocate many many binary trees
O koľko budem produktívnejší?
http://www.scribd.com/doc/121814/RailsDjango-Comparison
O koľko budem produktívnejší?
http://www.scribd.com/doc/121814/RailsDjango-Comparison
"There are order-of-magnitude differences
among programmers" has been confirmed by
many other studies of professional programmers
(Curtis 1981, Mills 1983, DeMarco and Lister
1985, Curtis et al. 1986, Card 1987, Boehm and
Papaccio 1988, Valett and McGarry 1989, Boehm
et al 2000).
Prečo Ruby (on Rails)?
Prečo Ruby (on Rails)?
To je jazyk pre decká,
seriózne aplikácie sa robia
v Jave a C#.
Tá syntax je bordel.
Na to neexistuje hosting.Je to pomalá sračka a žere
to veľa pamäte.
Prečo Ruby (on Rails)?
To je jazyk pre decká,
seriózne aplikácie sa robia
v Jave a C#.
Tá syntax je bordel.
Na to neexistuje hosting.Je to pomalá sračka a žere
to veľa pamäte.
Prečo Ruby (on Rails)?
To je jazyk pre decká,
seriózne aplikácie sa robia
v Jave a C#.
Tá syntax je bordel.
Na to neexistuje hosting.Je to pomalá sračka a žere
to veľa pamäte.
Prečo Ruby (on Rails)?
To je jazyk pre decká,
seriózne aplikácie sa robia
v Jave a C#.
Tá syntax je bordel.
Na to neexistuje hosting.Je to pomalá sračka a žere
to veľa pamäte.
Prečo Ruby (on Rails)?
To je jazyk pre decká,
seriózne aplikácie sa robia
v Jave a C#.
Tá syntax je bordel.
Na to neexistuje hosting.Je to pomalá sračka a žere
to veľa pamäte.
Prečo Ruby (on Rails) ?
● Zaujímavé vlastnosti jazyka
○ koncíznosť
○ bloky, otvorené triedy, metaprogramovanie
● Produktivita
○ obrovský ekosystém - knižnice, služby, nástroje
○ dostupné kvalitné IDE - RubyMine
● Silné konvencie
○ nový človek v projekte začne takmer okamžite.
● Kultúra a komunita
○ dôraz na testovanie, rýchly vývoj dopredu.
● out-of-the-box
○ HTML5, AJAX, CoffeeScript, SCSS, OR mapovač,
migrácie, streaming response...

Mais conteúdo relacionado

Mais de Jano Suchal

Improving code quality
Improving code qualityImproving code quality
Improving code qualityJano Suchal
 
Beyond search queries
Beyond search queriesBeyond search queries
Beyond search queriesJano Suchal
 
Rank all the things!
Rank all the things!Rank all the things!
Rank all the things!Jano Suchal
 
Bonetics: Mastering Puppet Workshop
Bonetics: Mastering Puppet WorkshopBonetics: Mastering Puppet Workshop
Bonetics: Mastering Puppet WorkshopJano Suchal
 
Peter Mihalik: Puppet
Peter Mihalik: PuppetPeter Mihalik: Puppet
Peter Mihalik: PuppetJano Suchal
 
Tomáš Čorej: Configuration management & CFEngine3
Tomáš Čorej: Configuration management & CFEngine3Tomáš Čorej: Configuration management & CFEngine3
Tomáš Čorej: Configuration management & CFEngine3Jano Suchal
 
SQL: Query optimization in practice
SQL: Query optimization in practiceSQL: Query optimization in practice
SQL: Query optimization in practiceJano Suchal
 
Garelic: Google Analytics as App Performance monitoring
Garelic: Google Analytics as App Performance monitoringGarelic: Google Analytics as App Performance monitoring
Garelic: Google Analytics as App Performance monitoringJano Suchal
 
Miroslav Šimulčík: Temporálne databázy
Miroslav Šimulčík: Temporálne databázyMiroslav Šimulčík: Temporálne databázy
Miroslav Šimulčík: Temporálne databázyJano Suchal
 
Vojtech Rinik: Internship v USA - moje skúsenosti
Vojtech Rinik: Internship v USA - moje skúsenostiVojtech Rinik: Internship v USA - moje skúsenosti
Vojtech Rinik: Internship v USA - moje skúsenostiJano Suchal
 
Petr Joachim: Redis na Super.cz
Petr Joachim: Redis na Super.czPetr Joachim: Redis na Super.cz
Petr Joachim: Redis na Super.czJano Suchal
 
Metaprogramovanie #1
Metaprogramovanie #1Metaprogramovanie #1
Metaprogramovanie #1Jano Suchal
 
PostgreSQL: Advanced features in practice
PostgreSQL: Advanced features in practicePostgreSQL: Advanced features in practice
PostgreSQL: Advanced features in practiceJano Suchal
 
elasticsearch - advanced features in practice
elasticsearch - advanced features in practiceelasticsearch - advanced features in practice
elasticsearch - advanced features in practiceJano Suchal
 
Postobjektové programovanie v Ruby
Postobjektové programovanie v RubyPostobjektové programovanie v Ruby
Postobjektové programovanie v RubyJano Suchal
 

Mais de Jano Suchal (17)

Datanest 3.0
Datanest 3.0Datanest 3.0
Datanest 3.0
 
Improving code quality
Improving code qualityImproving code quality
Improving code quality
 
Beyond search queries
Beyond search queriesBeyond search queries
Beyond search queries
 
Rank all the things!
Rank all the things!Rank all the things!
Rank all the things!
 
Bonetics: Mastering Puppet Workshop
Bonetics: Mastering Puppet WorkshopBonetics: Mastering Puppet Workshop
Bonetics: Mastering Puppet Workshop
 
Peter Mihalik: Puppet
Peter Mihalik: PuppetPeter Mihalik: Puppet
Peter Mihalik: Puppet
 
Tomáš Čorej: Configuration management & CFEngine3
Tomáš Čorej: Configuration management & CFEngine3Tomáš Čorej: Configuration management & CFEngine3
Tomáš Čorej: Configuration management & CFEngine3
 
SQL: Query optimization in practice
SQL: Query optimization in practiceSQL: Query optimization in practice
SQL: Query optimization in practice
 
Garelic: Google Analytics as App Performance monitoring
Garelic: Google Analytics as App Performance monitoringGarelic: Google Analytics as App Performance monitoring
Garelic: Google Analytics as App Performance monitoring
 
Miroslav Šimulčík: Temporálne databázy
Miroslav Šimulčík: Temporálne databázyMiroslav Šimulčík: Temporálne databázy
Miroslav Šimulčík: Temporálne databázy
 
Vojtech Rinik: Internship v USA - moje skúsenosti
Vojtech Rinik: Internship v USA - moje skúsenostiVojtech Rinik: Internship v USA - moje skúsenosti
Vojtech Rinik: Internship v USA - moje skúsenosti
 
Čo po GAMČI?
Čo po GAMČI?Čo po GAMČI?
Čo po GAMČI?
 
Petr Joachim: Redis na Super.cz
Petr Joachim: Redis na Super.czPetr Joachim: Redis na Super.cz
Petr Joachim: Redis na Super.cz
 
Metaprogramovanie #1
Metaprogramovanie #1Metaprogramovanie #1
Metaprogramovanie #1
 
PostgreSQL: Advanced features in practice
PostgreSQL: Advanced features in practicePostgreSQL: Advanced features in practice
PostgreSQL: Advanced features in practice
 
elasticsearch - advanced features in practice
elasticsearch - advanced features in practiceelasticsearch - advanced features in practice
elasticsearch - advanced features in practice
 
Postobjektové programovanie v Ruby
Postobjektové programovanie v RubyPostobjektové programovanie v Ruby
Postobjektové programovanie v Ruby
 

Ako si vybrať programovácí jazyk alebo framework?

  • 1. Ako si vybrať programovací jazyk alebo framework? Jano Suchal @jsuchal
  • 2. Get the right tool for the job, yo!
  • 3. Keď máš kladivo, všetko vyzerá ako klinec.
  • 5. Ako si vybrať? Koho sa pýtaš?
  • 12. Manažér Koľko to stojí? Koľko to ušetrí? Kto to ešte používa?
  • 13. Manažér Koľko to stojí? Koľko to ušetrí? Kto to ešte používa? Ako rýchlo Ťa vymením?
  • 18. Popularita - TIOBE index The ratings are calculated by counting hits of the most popular search engines. The search query that is used is "<language> programming" This search query is executed for the top 150 websites of Alexa.
  • 19. Kde mi za to zaplatia?
  • 20. Kde mi za to zaplatia?
  • 21. Kde mi za to zaplatia?
  • 22. Kde mi za to zaplatia?
  • 23. Kde mi za to zaplatia?
  • 24. Aké je to rýchle?
  • 25. Aké je to rýchle? n-body Perform an N-body simulation of the Jovian planets fannkuch-redux Repeatedly access a tiny integer-sequence meteor-contest Search for solutions to shape packing puzzle fasta Generate and write random DNA sequences spectral-norm Calculate an eigenvalue using the power method reverse-complement Read DNA sequences and write their reverse-complement mandelbrot Generate a Mandelbrot set and write a portable bitmap k-nucleotide Repeatedly update hashtables and k-nucleotide strings regex-dna Match DNA 8-mers and substitute nucleotides for IUB code pidigits Calculate the digits of Pi with streaming arbitrary-precision arithmetic chameneos-redux Repeatedly perform symmetrical thread rendezvous requests thread-ring Repeatedly switch from thread to thread passing one token binary-trees Allocate and deallocate many many binary trees
  • 26. O koľko budem produktívnejší? http://www.scribd.com/doc/121814/RailsDjango-Comparison
  • 27. O koľko budem produktívnejší? http://www.scribd.com/doc/121814/RailsDjango-Comparison "There are order-of-magnitude differences among programmers" has been confirmed by many other studies of professional programmers (Curtis 1981, Mills 1983, DeMarco and Lister 1985, Curtis et al. 1986, Card 1987, Boehm and Papaccio 1988, Valett and McGarry 1989, Boehm et al 2000).
  • 28. Prečo Ruby (on Rails)?
  • 29. Prečo Ruby (on Rails)? To je jazyk pre decká, seriózne aplikácie sa robia v Jave a C#. Tá syntax je bordel. Na to neexistuje hosting.Je to pomalá sračka a žere to veľa pamäte.
  • 30. Prečo Ruby (on Rails)? To je jazyk pre decká, seriózne aplikácie sa robia v Jave a C#. Tá syntax je bordel. Na to neexistuje hosting.Je to pomalá sračka a žere to veľa pamäte.
  • 31. Prečo Ruby (on Rails)? To je jazyk pre decká, seriózne aplikácie sa robia v Jave a C#. Tá syntax je bordel. Na to neexistuje hosting.Je to pomalá sračka a žere to veľa pamäte.
  • 32. Prečo Ruby (on Rails)? To je jazyk pre decká, seriózne aplikácie sa robia v Jave a C#. Tá syntax je bordel. Na to neexistuje hosting.Je to pomalá sračka a žere to veľa pamäte.
  • 33. Prečo Ruby (on Rails)? To je jazyk pre decká, seriózne aplikácie sa robia v Jave a C#. Tá syntax je bordel. Na to neexistuje hosting.Je to pomalá sračka a žere to veľa pamäte.
  • 34. Prečo Ruby (on Rails) ? ● Zaujímavé vlastnosti jazyka ○ koncíznosť ○ bloky, otvorené triedy, metaprogramovanie ● Produktivita ○ obrovský ekosystém - knižnice, služby, nástroje ○ dostupné kvalitné IDE - RubyMine ● Silné konvencie ○ nový človek v projekte začne takmer okamžite. ● Kultúra a komunita ○ dôraz na testovanie, rýchly vývoj dopredu. ● out-of-the-box ○ HTML5, AJAX, CoffeeScript, SCSS, OR mapovač, migrácie, streaming response...