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äsvirta
Training Consultant

Aiheet

  • Tietokone, Televiestintä, IT

Kategoriat

  • ohjelmointi
  • ohjelmointikieli
  • python
  • javascript
  • php
  • sql
  • java

Liittyvä sisältö

Testaus 2014: Testaajien panostettava dialogiin ja itsensä kehittämiseen

Tieturissa kevät on koittanut ja sen tunnistaa vuotuisesta virstapylväästä: Testaus-seminaarista. Seminaarin tarkoituksena on koota alan ammattilaiset yhteen pohtimaan testausalan trendejä sekä jännittämään, kuka julistetaan Vuoden Testaajaksi. Tänä vuonna puheenvuoroissa korostui meneillään oleva murros, joka pakottaa testaajan luoviin ratkaisuihin ja oman roolin uudelleenmäärittelyyn.