Tarkvarafirma elus tehtavad otsused on raskeimad mitte siis, kui käes on vähe infot, vaid siis, kui asja on hiljem raske muuta. Seega on keerukas ka tööks sobivat programmeerimiskeelt/platvormi valida.

Alguses on vaja ebavajalikud riskid eemaldada ja jõuda võimalikult ruttu turule. Seetõttu tasub valida levinud keel, mida hästi tunnete (Python, PHP, Ruby, Java, C# jne). Uute asjade õppimine ja uute tehnoloogiatega eksperimenteerimine on kahtlemata vajalik, aga tootearenduse algusperiood pole selleks kindlasti sobiv.

Shahi arutlus keskendub PHPle ja Pythonile, eriti sellele, miks esimene on lahe, aga teine juba pika suhte materjal.

Python on hästi disainitud, PHP mitte

PHP on täiesti töökindel, aga mitte kuigi elegantne. See pole esialgu ilmselt suur probleem. PHP 5+ võimaldab kogenud arendajal korralikku tarkvara luua ja Shahi ei häiri selle piirangud. Python on lihtsalt sügavam ja nüansirikkam, mis aitab lõppeks puhtamat elegantsemat koodi luua.

Ka PHPs hea koodi kirjutamine on täiesti võimalik, aga palju kergem on kirjutada suurepärast koodi Pythonis.

Shahile meeldib PHP väga, aga Python on lihtsalt jõulisem, paremini disainitud ja läbimõeldum. PHP sünd on seevastu "lihtsalt juhtus".

Pythonil on "selge" veebiraamistiku eelis

Shah tunnistab, et talle meeldib idee valikutest ja avatusest, aga töö mõttes on väga hea omada standardeid ja näha inimesi tegutsemas samas raamistikus samade teekidega. Python pakub vastust Django näol, mis ongi kujunenud faktiliseks põhivalikuks.

PHP's on seevastu Symfony, Zend, CodeIgniter, Kohana jt. Konkurents on ühelt poolt hea ja Shah usub, et need kõik on korralikud (ise kasutab CodeIgniterit), aga kindla võitja puudumine tähendab ka, et turg on killustunud.

Killustatus on veebiraamistike turul negatiivne. Pädev programmeerija võib uue keele põhitõed küll paari päevaga omandada, aga raamistiku sügavus ja rikkus pikendavad tegelikku õpiaega tublisti. Jah, need on pikas plaanis väärtuslikud, aga kui korraga leidub mitmeid erinevaid, kahaneb tõenäosus, et uus kolleeg või töötaja tunneb seda ja saab seda ruttu kasutama hakata.

Pythoni puhul on siin kergem: hea arendaja on tõenäoliselt Djangoga tuttav, ja koostöö muutub sellest lihtsamaks.

PHP on seevastu veebimaailma lingua franca

PHP tundmine ühendab eri taustaga arendajaid.

Kui keegi väljastab uue programmiliidese ja pakub mugavuse mõttes ka "pakendit" (wrapper), on PHP tõenäoliselt esimene toetatud keel. Paljud suurimad avatud lähtekoodiga projektid põhinevad samuti PHP'l. Selle tundmine on seega väga kasulik. Isegi, kui eelistate Pythonit, tasub mõistlikul tasemel PHPd tunda.

Tegelikult see ei loe, et PHP veebihosting on odavam!

Kui valite keele, mõeldes veebihostingult kuus kuni saja dollari säästmisele, keskendute valele asjale. Eriti tarkvarafirmade turul, kus poolteist aastat võib olla pikk aeg.

Shahi nõuanne: ärge unustage Amazon EC2 ja muid arenguid. Tulevikus on Pythonile serverite paika seadmine sama kerge kui praegu PHP'le.

Kõik Pythoni fännid ei püüa lihtsalt moodsad olla

Netis ringleb levinud argument, et Pythoni eelistajad tahavad lihtsalt moodsad olla, mitte keskenduda PHP näol töötavale asjale, mis võimaldab klientide probleeme lahendada. Tegelikult on asi pigem taustas. Kes on harjunud PHP maailmas tegutsema, tahab pigem õigustada oma valikut, et mitte üleminemise raskustega silmitsi seista. Muutuse hind on ju kõrge.

Suur pilt on kiirest algusest tähtsam

Kui kavatsete tarkvaraarenduse alale kauaks jääda, peate mõtlema suurele pildile - mis pikas plaanis enim kasu toob. PHP'ga on ülikerge alustada. See on lihtne, lõbus ja aitab end supertootlikult tunda. Aga mesinädalad saavad läbi ja siis on vaja hakata tulevikule mõtlema. Siin tasuks küll eelistada keelt, mis on kestev, rikkalik ja sügav - mis toob teis pikas perspektiivis välja parima. Nii et PHP on lahe, aga Python juba "abielu materjal".

***

Lõpus on link algsele artiklile. Autor räägib samal saidil lähemalt ka enda taustast ja oma praegusest firmast.