Blogikirjoitus -
Paras ohjelmointikieli, osa 1: Koodarin peruspaletti
Pyhä sota. Senhän siitä helposti saa jos yrittää kertoa mikä on paras ohjelmointikieli, käyttöjärjestelmä, työkalu tai automerkki. Silti päätin kirjoittaa blogisarjan siitä, mikä on paras ohjelmointikieli.
Tämän blogin itse asiassa innoitti yksi verkossa löytyvistä tutkimuksista: CodeEval listasi 10 suosituinta ohjelmointikieltä vuonna 2014 - siitä ja muista tutkimuksista lisää tämän blogisarjan seuraavassa jaksossa!
Sitten niitä omia mielipiteitä. Omasta mielestäni paras ohjelmointikieli on Python. Suurin syy siihen on, että vedän parhaillaan kurssia Python-ohjelmoinnista. Loppuviikosta kun jatkan C++-kielen ja suunnittelumallien parissa, suosikkikieleni luultavasti vaihtuu taas hetkeksi. Todennäköisesti jo ensi viikolla heilutan lippua Javan puolesta – tämä vaihtelu on ammatillinen tosiseikka, sillä kouluttajanhan tulee innostaa ihmisiä.
Olen todennut kuinka asiaa sen enempää ajattelematta vaihdan omia mieltymyksiäni kunkin kurssin aikana, oli sitten kyseessä ohjelmointikieli, kehitysväline, tai käyttöjärjestelmä. Se on itse asiassa hyvin helppoa, sillä kullakin kielellä on omat hyvät ja huonot puolensa, ja kun sopivasti valitsee ongelmakentän niin yleensä saa haluamansa kielen argumentoitua parhaaksi juuri siihen.
Kieliä löytyy joka lähtöön, eikä kukaan pysty niitä kaikkia opettelemaan. Kaikilla kielillä on omat vahvuutensa ja heikkoutensa, eikä yhdellä kielellä pidä yrittääkään tehdä kaikkia asioita. Toisaalta lähes kaikkiin ongelmiin on mahdollista valita usean kielen väliltä, ellei ole vanhaa painolastia. Yleensä oikeissa töissä vanhoja painolasteja on, eli uudenkin koodin täytyy toimia olemassaolevan järjestelmän kanssa, joten ollaan pakotettuja käytettyihin tekniikoihin - usein mukaan lukien ohjelmointikieli.
Tässä alla olisi listattuna ja kuvattuna muutama kieli, jotka voisivat kuulua koodarin peruspalettiin:
Java:
Varsinkin .NET ympäristön ulkopuolella eniten tarvittu
kieli. Voisi melkein väittää, että Java kuuluu nykyisin lähes perusosaamiseen,
ainakin kielen peruteiden osalta. Javassakin sitten erityisesti palvelinpään
osalta on valtava määrä kehyksiä, joiden osaaminen saattaa vaikuttaa kieltä
enemmän siihen, saako työn tehtyä.
Javan ja sen ajoympäristön JVM:n tulevaisuuden valoisuudesta ollaan jo jonkin aikaa keskusteltu kriittiseenkin sävyyn. Javalla toteutettuja projekteja on kuitenkin nykyisin niin paljon, että vaikka se "häviäisi", niin olemassa olevien palvelintoteutusten ylläpitoon ja kehitykseen Javaa tarvitaan vuosia.
C++:
Erityisesti tehokkuutta vaativiin projekteihin usein
paras kieli. Verrattuna kilpaileviin kieliin C++-kieltä pidetään usein vaikeana,
mutta sen hyvä osaaminen yleensä auttaa myös muiden kielien yhteydessä.
Suosittelen ehdottomasti hyvää osaamista.
C#:
Nykyisin paras kieli .NET kielistä. Mikäli Microsoftin
ympäristöön on tehtävä jotain, niin useimmiten C# on ensimmäinen vaihtoehto. C#
on ohjelmointikielenä jossain Javan ja C++ välimaastossa. Näiden kolmen kielen välillä
vaihtaminen on omalla tavallaan helppoa.
Python:
Python on nykyisin yksi suositelluimmista kielistä
ensimmäiseksi ohjelmointikieleksi. Yksi syy Pythonin menestykseen on yksi sen
filosofian perusteista: ohjelmoinnin pitäisi olla hauskaa. Python on pyritty
toteuttamaan siten, että ohjelmointi olisi helppoa, tuottavaa ja hauskaa.
Tieturin Python ohjelmointi -kurssi onkin nykyisin suosituin kurssi
aloitteleville ohjelmoijille, silti kurssi sopii myös kokeneemmille. Python on
myös monialustakieli, eli sama ohjelma yleensä toimii mm. Windows, Linux, Mac
ym. alustoilla sellaisenaan.
JavaScript:
JavaScript on se kieli, jolla saadaan web-selaimet
tekemään kaikkea kivaa ja dynaamista. Nykyisin on vaikea löytää suosittua sivustoa,
jossa ei JavaScriptiä olisi käytetty edes jonkin verran. JavaScript on kuitenkin
omalla tavallaan yksi järkyttävimmistä ohjelmointikielistä, varsinkin ihmisille
jotka ovat tottuneet hyvään koodiin, oikeisiin ohjelmointitapoihin ja kunnon
työkaluihin. Suurin ongelma JavaScriptissä on sen näennäinen helppous, vaikka se
on oikeasti hyvinkin vaikea ohjelmointikieli. Näin maailmalle leviää hyvinkin
huteralla osaamisella tuotettuja tekeleitä. JavaScript varianteista esimerkiksi
TypeScript, LiveScript, AngularJS ja Node.js ovat nostaneet päätään viime aikoina,
eli ei pelkästään jQuerya.
C:
*Se* ohjelmointikieli. 1970 luvulla kehitetty, erittäin
tehokas, käytetään nykyisin lähinnä systeemiohjelmointiin. C on vaikuttanut
lähes(?) kaikkiin muihin tällä listalla oleviin kieliin, jos ei muuten niin
kielioppinsa ja rakenteidensa muodossa.
Objective-C:
Yksi ratkaisu, jolla toteuttaa oliopiirteet
C-kielen päälle. Ei yhtä suosittu kuin C++. Objective-C on kuitenkin se kieli
joka oletusarvoisesti valitaan silloin, kun ohjelmoidaan jollekin Applen
alustalle.
PHP:
PHP Hypertext Preprocessor on edelleen luultavasti
johtava dynaamisten web-palveluiden tuottamiseen käytetyistä kielistä. Sillä
siis voidaan ohjelmallisesti tuottaa web-sivustoja. Esimerkiksi Facebook ja
Wikipedia käyttävät PHP:ta. PHP:n yksi ongelmista oli, että se ikäänkuin syntyi
ja kasvoi itsestään. Näin ollen kielen rakenne sekä tapa (tai tavat) ohjelmoida sillä ovat sekavampia kuin muiden
suosittujen kielien.
SQL:
Suurimpana erona aiempiin on se, ettei SQL ole yleiskäyttöinen
ohjelmointikieli.
Muita kieliä sitten voi opetella tarpeen mukaan, lyhyt lista esimerkeistä: VisualBasic, Pascal/Delphi, Perl, Fortran, PCL, Scala, TCL, Cobol, assembler, Lisp, F#, Prolog, Clarion, Haskell, Ruby, Go ja Shell scriptit.
Blogisarjan seuraavassa osassa käsittelen eri kielten suosiota tilastollisessa valossa.
Tommi TeräsvirtaTraining Consultant
Aiheet
- Tietokone, Televiestintä, IT
Kategoriat
- ohjelmointi
- ohjelmointikieli
- python
- javascript
- php
- sql
- java