Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: OH2FPG - 18.08.09 - klo:14.44

Otsikko: Ohjelmien teko Ubuntuun?
Kirjoitti: OH2FPG - 18.08.09 - klo:14.44
Moikka,
Mietin vain että miten voisi tehdä ohjelmia Ubuntulle?
Esim. Onko olemassa jotain suht-helppoa ohjelmointi-kieltä joka toimisi Ubuntulla?
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: Tha-Fox - 18.08.09 - klo:14.50
Moikka,
Mietin vain että miten voisi tehdä ohjelmia Ubuntulle?
Esim. Onko olemassa jotain suht-helppoa ohjelmointi-kieltä joka toimisi Ubuntulla?

Eiköhän noita ohjelmointikieliä ole aika monta. Jotkut sanovat Pythonia aloittelijaystävälliseksi. Itse olen vasta alkamassa tutustua kieleen, niin ei ole oikein tietoa.
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: Stargazers - 21.08.09 - klo:10.55
Helppous on suhteellista.

Ensin kannattanee miettiä aiotko tehdä graafisia- vai komentoriviohjelmia/skriptejä.
Tämän jälkeen on hyvä alkaa harkitsemaan vaihtoehtoja.

Itse olen koodannut Ubuntulle C:llä graafisia- ja ei-graafisia softia.
Eli C:llä käytän GTK-kirjastoa graafisten ohjelmien tekemiseen.

Pythonillakin olen GTK- ja Qt-kirjastoa käyttäviä ohjelmia testaillut.
Oppimiskynnys on varmasti matalampi kuin C:ssä, mutta itse silti pidän C:stä enemmän.

Yksi vaihtoehto on myös (tämän takia minut varmaan hirtetään ;) PHP ja PHP-GTK jos haluat
tehdä helposti graafisia ja ei-graafisia ohjelmia. Voin suositella jos kiinnostaa vain tehdä helposti
ohjelmia ja joiden koodaus on inhimillistä. Jos taas optimoidumpi koodi kiinostaa, opettele C+GTK tai
C++ ja Qt.
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: raimo - 21.08.09 - klo:14.22
Perl ja GTK, siinä se!  8)
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: Lasse. - 21.08.09 - klo:14.23
Itseppä suosittelen C:tä, sen osaamisesta on hyötyä alustasta riippumatta.
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: janne - 21.08.09 - klo:19.24
kyllä minäkin melkein aloittelija (ja miksei edistyneemmällekin) pythonia suosittelisin. graafisella puolella sitten bindingsit joko GTK+:lle, Qt:lle tai wxWidgetsille.
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: mgronber - 21.08.09 - klo:22.14
Yksi vaihtoehto on myös (tämän takia minut varmaan hirtetään ;) PHP ja PHP-GTK jos haluat
tehdä helposti graafisia ja ei-graafisia ohjelmia.

Ei tarvitse hirttää kun tunnut tekevän sen ihan itse ;)

Lainaus
Voin suositella jos kiinnostaa vain tehdä helposti ohjelmia ja joiden koodaus on inhimillistä.

PHP ja inhimillinen eivät sovi samaan lauseeseen ilman negaatiota.
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: samja - 21.08.09 - klo:23.14
PHP ja inhimillinen eivät sovi samaan lauseeseen ilman negaatiota.

Jos on ohjelmoinut PHP:llä nettikamaa, on helppo siirtyä ohjelmoimaan myös komentoriviohjelmia PHP:llä. Tämän totesin hiljattain. Minusta PHP on helppo ja melko kattava skripti-kieli. Eihän se tietty kaikkeen käy.
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: Jiku - 22.08.09 - klo:11.40
Yksi vaihtoehto on myös (tämän takia minut varmaan hirtetään ;) PHP ja PHP-GTK jos haluat
tehdä helposti graafisia ja ei-graafisia ohjelmia. Voin suositella jos kiinnostaa vain tehdä helposti
ohjelmia ja joiden koodaus on inhimillistä. Jos taas optimoidumpi koodi kiinostaa, opettele C+GTK tai
C++ ja Qt.

Löytyisiköhän tuon PHP-GTK:n asentamiseen rautalankaa jostain?
Tämän ohjeen (http://74.125.77.132/search?q=cache:OwVS8RKv3WcJ:php-gtk.eu/en/ubuntu-repository-with-php-gtk+hph-gtk+ubuntu&hl=fi&client=opera&strip=1) seuraus oli vain se, että firefox poistettiin  ???.
Ja esimekkiohjelma (http://en.wikipedia.org/wiki/PHP-GTK#Example) ilmoittaa:
Koodia: [Valitse]
Fatal error: Class 'GtkWindow' not found in /home/jani/ravellys/phpgtk/testi.php on line 8
Kuulostaisi kieltämättä kiinnostavalta tehdä PHP:llä graafisia kilkkeitä, minusta tuo PHP on mukavan simppeli kieli.


edit0:
tällä (http://blog.xgra.com/2009/03/31/how-to-setup-a-complete-php-gtk2-development-enviornment-under-ubuntu-810/) ohjeella onnistui.

ja näköjään tuo kirjasto pitää koodissa mainita:
Koodia: [Valitse]
<?php
   dl
("php_gtk2.so");
   
$wnd = new GtkWindow();
$wnd->set_title('Hello world');
$wnd->connect_simple('destroy', array('gtk''main_quit'));

$lblHello = new GtkLabel("Just wanted to say\r\n'Hello world!'");
$wnd->add($lblHello);

$wnd->show_all();
Gtk::main();
?>

Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: Stargazers - 27.08.09 - klo:12.20
PHP ja inhimillinen eivät sovi samaan lauseeseen ilman negaatiota.

Ihan mielenkiintoista, miksi näin? Siis, mikä ko. kielessä on epäinhimillistä? :)
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: snifi - 27.08.09 - klo:14.41
Onkohan Pythoniin olemassa mitään vastaavaa systeemiä, jolla koodia voisi upottaa yhtä helposti HTML-sivulle, esim:

<?python
  print("Hello World!")
?>

PHP:ssä kieltämättä on jonkin verran redundanttia syntaksia verrattuna Pythoniin, mutta verkkosivujen koodaamisessa se on usein ainoa mielekäs vaihtoehto.

Se mitä tarkoitan "reduntantilla syntaksilla" esimerkiksi edellisestä ohjelmasta:

Dollarimerkit muuttujanimissä $x,$y
Ylimääräinen new-sana
Puolipilkut lauseen lopussa;
Olioviittaussyntaksi -> ja ::
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: Jantunen - 27.08.09 - klo:15.11
PHP:ssä kieltämättä on jonkin verran redundanttia syntaksia verrattuna Pythoniin, mutta verkkosivujen koodaamisessa se on usein ainoa mielekäs vaihtoehto.

Se mitä tarkoitan "reduntantilla syntaksilla" esimerkiksi edellisestä ohjelmasta:

Dollarimerkit muuttujanimissä $x,$y
Ylimääräinen new-sana
Puolipilkut lauseen lopussa;
Olioviittaussyntaksi -> ja ::


Mitä redundanttia noissa on?
-dollarimerkit muuttujissa mahdollistavat muuttujien upottamisen tuplahipsuilla (") määriteltyyn merkkijonoon, esim: $omenoita = 10; print("minulla on $omenoita omenaa"); (vaikken itse ko. syntaksista hirveästi pidäkään)
-new sana:
function munolio() { return 10; }
class munolio {}
$testi = new munolio(); /* vrt. */ $testi = munolio();
-Puolipilkut lauseenlopussa mahdollistavat koodin kirjoittamisen usealle riville, mikä on joskus luettavuuden takia lähes välttämätöntä, tai joissain tapauksessa useamman komennon kirjoittaminen samalle riville
-"olioviittaussyntaksi" on kieltämättä aika omalaatuinen, enkä siitäkään aluksi pitänyt kun oliot PHP:hen aikoinaan tuli (itse Javan syntaksiin tottuneena), mutta kaikkeen tottuu

Nimim. PHP-ammattilainen jo lähes vuosikymmenen ajan :)
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: snifi - 27.08.09 - klo:21.12

Mitä redundanttia noissa on?
-dollarimerkit muuttujissa mahdollistavat muuttujien upottamisen tuplahipsuilla (") määriteltyyn merkkijonoon, esim: $omenoita = 10; print("minulla on $omenoita omenaa"); (vaikken itse ko. syntaksista hirveästi pidäkään)

PHP-ympäristössä tuon voi ymmärtää, koska print-komennolla tulostaminen on PHP-skriptille tyypillinen käyttötapa. Yleisesti ottaen dollarimerkki muuttujanimissä johtaa koodin niin sanottuun ornamentoitumiseen, eli koodin luettavuus heikkenee, ja virheiden todennäköisyys kasvaa.

-new sana:
function munolio() { return 10; }
class munolio {}
$testi = new munolio(); /* vrt. */ $testi = munolio();

Ei ole mielekästä nimetä olioita funktioiden nimellä tai päinvastoin. New-sanaa ei tällöin tarvita, ja se on koodissa ylimääräinen sana vähentäen luettavuutta ja lisäten virhetodennäköisyyttä.

-Puolipilkut lauseenlopussa mahdollistavat koodin kirjoittamisen usealle riville, mikä on joskus luettavuuden takia lähes välttämätöntä, tai joissain tapauksessa useamman komennon kirjoittaminen samalle riville

Ylimääräinen eli redundantti siitä huolimatta. Puolipilkun unohtaminen lauseen lopusta on yleisin virhetyyppi tietokoneohjelmia kirjoitettaessa.

Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: Stargazers - 27.08.09 - klo:22.02
PHP-ympäristössä tuon voi ymmärtää, koska print-komennolla tulostaminen on PHP-skriptille tyypillinen käyttötapa. Yleisesti ottaen dollarimerkki muuttujanimissä johtaa koodin niin sanottuun ornamentoitumiseen, eli koodin luettavuus heikkenee, ja virheiden todennäköisyys kasvaa.

Millä tapaa koodin luettavuus heikkenee ja virheiden todennäköisyys kasvaa, jos alkuun pitää lisätä yksi merkki?

Ei ole mielekästä nimetä olioita funktioiden nimellä tai päinvastoin. New-sanaa ei tällöin tarvita, ja se on koodissa ylimääräinen sana vähentäen luettavuutta ja lisäten virhetodennäköisyyttä.

Ylimääräinen sana koodissa kun luokan instassit pitää määritellä new sanalla? Millä tapaa se vähentää luettavuutta?
Päinvastoin - heti kun näet $x = new Kissa(); niin näet _heti_ että kyseessä on olion instanssi.
Jos taas sitä ei olisi, miten tietäisit heti että onko Kissa funktiokutsu vai luokan instanssin luonti?
Etsisit missä on Kissa ja katsoisit onko se funktio vai luokka?

Toki omassa koodissasi varmasti tietäisit ja muistaisitkin sen, mutta entä muiden tekemä koodi
jos koodarilla ei ole samanlaisia nimeämiskäytäntöjä koodatessa?

Ylimääräinen eli redundantti siitä huolimatta. Puolipilkun unohtaminen lauseen lopusta on yleisin virhetyyppi tietokoneohjelmia kirjoitettaessa.

Olisiko jossain viitettä tähän "yleisin virhetyyppi tietokoneohjelmia kirjoittaessa"?

Itselläni kyseinen ongelma ei kyllä todellakaan ole millään tapaa "yleisin virhetyyppi".  En myöskään
tiedä ketään muutakaan koodaria kenellä tämä olisi yleisin virhetyyppi, joten olisi kiva tietää
keille tämä on yleisin virhetyyppi.
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: mgronber - 27.08.09 - klo:22.09
PHP ja inhimillinen eivät sovi samaan lauseeseen ilman negaatiota.

Ihan mielenkiintoista, miksi näin? Siis, mikä ko. kielessä on epäinhimillistä? :)

Omasta mielestäni kielen suurimmat ongelmat liittyvät sisäisen johdonmukaisuuden puuttumiseen: funktioiden nimeämiskäytännöt vaihtelevat huomattavasti ja argumenttien järjestys vaihtelee. Lisäksi saman asian tekemiseen on useita funktioita jotka eroavat toisistaan vain marginaalisesti mutta samalla merkittävästi. Tämä yksinään riittää tekemään kielestä epäinhimillisen.

Muistaakseni myös virheiden käsittely oli vähän niin ja näin.

Wikipediasta on näköjään poistettu PHP:n kritiikki-osio, jossa oli lueteltu enemmänkin vikoja. Tässä (http://en.wikipedia.org/w/index.php?title=PHP&oldid=200205223) on jokin versio siitä.
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: mgronber - 27.08.09 - klo:22.23
PHP-ympäristössä tuon voi ymmärtää, koska print-komennolla tulostaminen on PHP-skriptille tyypillinen käyttötapa. Yleisesti ottaen dollarimerkki muuttujanimissä johtaa koodin niin sanottuun ornamentoitumiseen, eli koodin luettavuus heikkenee, ja virheiden todennäköisyys kasvaa.

Millä tapaa koodin luettavuus heikkenee ja virheiden todennäköisyys kasvaa, jos alkuun pitää lisätä yksi merkki?

Se merkki voi jäädä lisäämättä tai sen saattaa kirjoittaa väärin. Lienee selvää että virhetodennäköisyys kasvaa. Eri asia sitten on kuinka merkittävästi se kasvaa...

Pitäisin oleellisempana seikkana sitä kuinka helposti tuollainen virhe havaitaan. PHP:n tapauksessa se todennäköisesti jää havaitsematta ja jossain vaiheessa koodi räjähtää kasvoille ;)

Lainaus
Ei ole mielekästä nimetä olioita funktioiden nimellä tai päinvastoin. New-sanaa ei tällöin tarvita, ja se on koodissa ylimääräinen sana vähentäen luettavuutta ja lisäten virhetodennäköisyyttä.

Ylimääräinen sana koodissa kun luokan instassit pitää määritellä new sanalla? Millä tapaa se vähentää luettavuutta?
Päinvastoin - heti kun näet $x = new Kissa(); niin näet _heti_ että kyseessä on olion instanssi.

Tästä olen kanssasi samaa mieltä. Nimeämiskäytäntöjen tulisi kuitenkin olla sellaisia että luokat ja metodit erottaa toisistaan suoraan.

Lainaus
jos koodarilla ei ole samanlaisia nimeämiskäytäntöjä koodatessa?

Tämä pätee erityisesti PHP:n tapauksessa koska edes sen omalla funktiokirjastolla ei ole yhtenäistä nimeämiskäytäntöä.
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: mgronber - 27.08.09 - klo:22.28
PHP:ssä kieltämättä on jonkin verran redundanttia syntaksia verrattuna Pythoniin, mutta verkkosivujen koodaamisessa se on usein ainoa mielekäs vaihtoehto.

Millä tavalla se on mielekkäämpi kuin esimerkiksi Ruby on Rails (http://rubyonrails.org/) tai Django (http://www.djangoproject.com/)?
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: Jantunen - 27.08.09 - klo:22.37
PHP:ssä kieltämättä on jonkin verran redundanttia syntaksia verrattuna Pythoniin, mutta verkkosivujen koodaamisessa se on usein ainoa mielekäs vaihtoehto.

Millä tavalla se on mielekkäämpi kuin esimerkiksi Ruby on Rails (http://rubyonrails.org/) tai Django (http://www.djangoproject.com/)?


Menee edelleen aika pahasti asian ohitse (itsehän aloitin  ;D) mutta kirjoittaja viitannee PHP:n laajaan tukeen hosting-palveluissa, joissa pääsääntöisesti taitaa olla tuettuna juuri joko PHP ja/tai esim. perl CGInä...

PHP:stä edelleen, että olen kyllä samaa mieltä tuosta epäjohdonmukaisuudesta, eli ei olisi ollenkaan pahitteeksi mikäli samankaltaisten funktioiden parametrit annettaisiin samassa järjestyksessä, tai että kirjoitusasu olisi yhtenäinen (vertaa esim strlen vs. str_replace jne)
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: qwertyy - 27.08.09 - klo:22.45
Mites tämä Quickly?
http://arstechnica.com/open-source/news/2009/08/quickly-new-rails-like-rapid-development-tools-for-ubuntu.ars
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: snifi - 27.08.09 - klo:23.02
Millä tapaa koodin luettavuus heikkenee ja virheiden todennäköisyys kasvaa, jos alkuun pitää lisätä yksi merkki?

Kysymys on niin sanotusta koodin ornamentoitumisesta. Ihmisten on helpompi lukea ja kirjoittaa kokonaisia sanoja kuin tulkita ja etsiä näppäimistön erikoismerkkejä.

Ylimääräinen sana koodissa kun luokan instassit pitää määritellä new sanalla? Millä tapaa se vähentää luettavuutta?
Päinvastoin - heti kun näet $x = new Kissa(); niin näet _heti_ että kyseessä on olion instanssi.
Jos taas sitä ei olisi, miten tietäisit heti että onko Kissa funktiokutsu vai luokan instanssin luonti?
Etsisit missä on Kissa ja katsoisit onko se funktio vai luokka?

Se, että luokan instanssit on määriteltävä new-sanalla on virhe kielen suunnittelussa. New-sana on syntaksissa tarpeeton. Se on ylimääräinen sana koodissa. Ei ole mitään merkitystä, onko Kissa() funktiokutsu vai luokan instanssin luonti, kunhan se palauttaa olion, joka kuvaa jollakin tapaa sanaa Kissa. Funktiokutsut kirjoitetaan implisiittisesti pienellä alkukirjaimella, joten kysymyksessä on olion nimi.

x = Kissa()

palauttaa itsestäänselvyytenä viittauksen olioon Kissa, jonka instanssi viittauksella luotiin. Mitään epäselvyyttä ei pitäisi jäädä.

Toki omassa koodissasi varmasti tietäisit ja muistaisitkin sen, mutta entä muiden tekemä koodi
jos koodarilla ei ole samanlaisia nimeämiskäytäntöjä koodatessa?

Syytä olla.



Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: Stargazers - 28.08.09 - klo:08.30
Kysymys on niin sanotusta koodin ornamentoitumisesta. Ihmisten on helpompi lukea ja kirjoittaa kokonaisia sanoja kuin tulkita ja etsiä näppäimistön erikoismerkkejä.

En ainakaan itse ole kokenut millään muotoa vaikeaksi lukea koodia sen takia,
että muuttujien alussa on erikoismerkki. Eikä sitä kyllä kaukaa joudu etsimään.

Se, että luokan instanssit on määriteltävä new-sanalla on virhe kielen suunnittelussa. New-sana on syntaksissa tarpeeton. Se on ylimääräinen sana koodissa. Ei ole mitään merkitystä, onko Kissa() funktiokutsu vai luokan instanssin luonti, kunhan se palauttaa olion, joka kuvaa jollakin tapaa sanaa Kissa.

No onhan sillä isokin merkitys palautuuko sieltä olion instanssi vaiko vain muuttuja.

Jos Kissa palauttaakin arvon 12 eikä oliota jolla on metodeita, niin sitten kun koetat viitata
olion metodeihin niin kyllähän se räjähtää koko roska.

Funktiokutsut kirjoitetaan implisiittisesti pienellä alkukirjaimella, joten kysymyksessä on olion nimi.

x = Kissa()

palauttaa itsestäänselvyytenä viittauksen olioon Kissa, jonka instanssi viittauksella luotiin. Mitään epäselvyyttä ei pitäisi jäädä.

Mielestäni ei voida millään muotoa pitää itsestäänselvyytenä että _kaikki_ maailman koodarit kirjoittaisivat juuri samalla tyylillä kuin sinä/minä/joku muu haluaisi.

Syytä olla.

No jaa. Ja kuka tämän syntaksin määrittelisi mitä kaikkien maailman koodareiden pitäisi noudattaa että ei tulisi väärinymmärryksiä? Kääntäjä/tulkki?
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: Stargazers - 28.08.09 - klo:08.35
Se merkki voi jäädä lisäämättä tai sen saattaa kirjoittaa väärin. Lienee selvää että virhetodennäköisyys kasvaa. Eri asia sitten on kuinka merkittävästi se kasvaa...

No ainahan sen merkin _voi_ jättää lisäämättä tai kirjoittaa väärin, mutta en nyt pitäisi sitä olennaisena virhemahdollisuutena. Pitää vain katsoa mitä kirjoittaa.

Isompana (ja realistisempana) haittana pidän sitä, että PHP:ssä et voi pakottaa käyttäjiä esittelemään muuttujiaan. Tätä olen kaivannut useammankin kerran muiden koodia lukiessani.

Pitäisin oleellisempana seikkana sitä kuinka helposti tuollainen virhe havaitaan. PHP:n tapauksessa se todennäköisesti jää havaitsematta ja jossain vaiheessa koodi räjähtää kasvoille ;)

No kyllä parseri ainakin ; merkin puuttumisesta kitisee.
Jos ei kitise niin sitten on omat PHP:n asetukset huonosti. Pitää vain laittaa errorleveli korkeammalle.

Olen kyllä silti samaa mieltä tuosta, että kielen funktiot ja parametrit pitäisi olla aina nimetty samoin
ja mennä samoissa järjestyksissä. Se on kieltämättä epälooginen, mutta ei tuo kyllä ole hirveästi
hidastanut. Edelleen isoin puute PHP:ssä mielestäni on se, että ei voida pakottaa käyttäjiä alustamaan
muuttujiaan, vaikka onkin tyypittämätön kieli. Se olisi silti todella iso plussa.
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: mgronber - 28.08.09 - klo:09.36
No jaa. Ja kuka tämän syntaksin määrittelisi mitä kaikkien maailman koodareiden pitäisi noudattaa että ei tulisi väärinymmärryksiä? Kääntäjä/tulkki?

Esimerkiksi kielen kehittänyt taho. Homma on toiminut suhteellisin hyvin sekä Javalla että C#:lla.
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: snifi - 28.08.09 - klo:15.30
Kielen kauneus on tietenkin mielipidekysymys siinä missä ruoan maku. Itse pidän koodin luettavuutta ja erikoismerkkien käytön välttämistä kriittisenä tekijänä kielen valinnalle. (Ja tietenkin samalla toivon, että mahdollisimman moni muukin tekisi samoin...)

x = Kissa()

Jos Kissa() palauttaa arvon 12, on kysymys semanttisesta ohjelmointivirheestä. Kissa() ei edes periaatteessa voi palauttaa arvoa 12, koska se ei millään tavalla kuvaa kissa-oliota. Kissa():n on siis palautettava olio joka kuvaa kissaa. Koodari toki voi upottaa koodiinsa semanttisia virheitä haluamassaan määrin, mutta on meidän käyttäjien vastuu, ettemme hyväksy tälläistä. Semanttisia virheitä harrastavan koodaajan koodi on syytä hylätä.

Jos sen sijaan

x = kissan_pituus()

on ilmiselvästi kysymyksessä skalaari, jonka arvo voi olla 12.

x = kissan_dimensiot()

puolestaan todennäköisesti palauttaa taulukon, tai olion, jossa kissan dimensiot on lueteltuina. Jos on epäselvää, millainen taulukko tai olio kissan_dimensiot on, se ei ole dramaattinen ongelma. Kissan dimensioiden tyyppiä, ja metodikutsujen nimiä voidaan tällöin kysyä oliolta itseltään: type(x), str(x), dir(x), help(x), jne...

Pythonin koodiin on kuriositeettina upotettuna kielen suunnittelufilosofia, "The Zen of Python", jonka saa näkyviin kirjoittamalla "import this". Ihan kaikkien lauseiden merkitystä en tunne, mutta suurimmalta osaltaan pitäisin ohjeita hyvinä ihan minkä tahansa ohjelmointikielen suunnittelussa:
Koodia: [Valitse]
>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
>>>   


Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: Tommi S. - 29.08.09 - klo:11.36
Ei ole mitään merkitystä, onko Kissa() funktiokutsu vai luokan instanssin luonti, kunhan se palauttaa olion, joka kuvaa jollakin tapaa sanaa Kissa.

Minusta kyllä voi olla suurestikin merkitystä sillä palautetaanko esim. viittaus aiemmin muistissa pidettyyn olioon vai varataanko muistia ihan uudelle oliolle.

Funktiokutsut kirjoitetaan implisiittisesti pienellä alkukirjaimella, joten kysymyksessä on olion nimi.

Huomasitko muuten että Pythonin suunnittelufilosofiassa on heti toisena käskynä lause "Explicit is better than implicit"?

Tässä vielä pari lisätehtävää. Laske kuinka monta uutta kissaa luodaan:
Koodia: [Valitse]
kissa();
Kissa();
kissa();
kissa();
kissa();
Kissa();
Kissa();
kissa();
kissa();
kissa();
kissa();
Kissa();
kissa();
kissa();
Kissa();

Tässä toinen tehtävä. Laske kuinka monta uutta kissaa luodaan:
Koodia: [Valitse]
kissa();
new Kissa();
kissa();
kissa();
kissa();
new Kissa();
new Kissa();
kissa();
kissa();
kissa();
kissa();
new Kissa();
kissa();
kissa();
new Kissa();
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: mrl586 - 30.08.09 - klo:12.05
Yksi vaihtoehto on myös (tämän takia minut varmaan hirtetään ;) PHP ja PHP-GTK jos haluat
tehdä helposti graafisia ja ei-graafisia ohjelmia. Voin suositella jos kiinnostaa vain tehdä helposti
ohjelmia ja joiden koodaus on inhimillistä.
Tähän voisi lisätä seuraavan yhdistelmän PHP ja PHP-Qt
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: peran - 30.08.09 - klo:12.36
Yksi vaihtoehto on myös (tämän takia minut varmaan hirtetään ;) PHP ja PHP-GTK jos haluat
tehdä helposti graafisia ja ei-graafisia ohjelmia. Voin suositella jos kiinnostaa vain tehdä helposti
ohjelmia ja joiden koodaus on inhimillistä.
Tähän voisi lisätä seuraavan yhdistelmän PHP ja PHP-Qt

Php:llä ei ole helppo tehdä ohjelmia. Jos scripti-kieltä meinaa käyttää niin suosittelisin pythonin opiskelua. Se kun tulee suoraan Ubuntussa ja sillä on kätevä tehdä ohjelmia. Se ei ole lähellekään niin kankea kuin php, ja sillä on pakko tehdä selkeännäköistä koodia. Lisäksi monet asiat siinä voidaan tehdä lyhemmällä koodimäärällä, joten aloittelijan kynnys on pieni.
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: snifi - 30.08.09 - klo:15.25
Minusta kyllä voi olla suurestikin merkitystä sillä palautetaanko esim. viittaus aiemmin muistissa pidettyyn olioon vai varataanko muistia ihan uudelle oliolle.
Huomasitko muuten että Pythonin suunnittelufilosofiassa on heti toisena käskynä lause "Explicit is better than implicit"?
Tässä vielä pari lisätehtävää. Laske kuinka monta uutta kissaa luodaan:
Tässä toinen tehtävä. Laske kuinka monta uutta kissaa luodaan:

Tämä sinun ajatuskuviosi on siinä mielessä virheellinen, että olioita voidaan luoda myös aliohjelmakutsuilla. Jos olet huolestunut muistia varaavien olioiden lukumäärästä, ongelmaa ei juurikaan helpota se kuinka helppoa on pääohjelman varaamien olioiden lukumäärän laskeminen, sillä se ei ole asian koko totuus. Funktiokutsu on siten siinä mielessä saman arvoinen kuin uuden olion luominen, ja esimerkiksi Pythonin suunnittelufilosofiassa nämä toimenpiteet on aika pitkälle samaistettu. Uuden olion luominen ei siten ole luonteeltaan "eksplisiittinen" toimenpide, joka tulisi kielen perusfilosofian mukaan erikseen huomioida.
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: snifi - 30.08.09 - klo:15.51
Jos vielä selvennän edellistä  esimerkillä:

Koodia: [Valitse]
>>> class Kissa(object):
...   def __init__(self):
...     pass
...
>>> x=Kissa()
>>> Kissa
<class '__main__.Kissa'>
>>> x
<__main__.Kissa object at 0x2ac35cecdfd0>
>>> def luo_kissa():
...   return Kissa()
...
>>> y=luo_kissa()
>>> y
<__main__.Kissa object at 0x2ac35ced50d0>
>>> luo_kissa
<function luo_kissa at 0x2ac35cec08c0>
>>>
x ja y ovat tässä molemmat Kissa-olioita, toinen luotiin luokan instanssina, toinen funktiokutsulla. Myös funktiokutsut ovat Pythonissa olioita, ja funktio-oliosta saadaan funktio kaarisulkeilla: f -> f().
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: meizirkki - 30.08.09 - klo:15.56
Ihan siis graafisen käyttöliittymän omaavien ohjelmien tekeminen on todella helppoa Qdevelop nimisen ohjelmiston avulla. Käyttöliittymän pääsee itse suunnittelemaan ja C++:aakaan ei paljon tarvitse handlata.

Helppo tutoriaali tuossa:

http://www.clivecooper.co.uk/tutorial/

Qt:n käyttämisessä on se etu, että Qtlle kirjoitetut softat saa toimimaan jokapaikassa mihin Qt on käännetty :) Windowsin ja Linuxin lisäksi siis myös esim. Symbian, Maemo ja WinMO älykännyköissä!  ;)
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: Jiku - 30.08.09 - klo:16.37
Nyt viimeistään minut heitetään rikkinäisen ikkunan kautta pihalle, mutta
jos ohjelmointia ei halua opiskella, niin ainahan voi käyttää gambas2:ta joka löytyy pakettienhallinnasta.
sillä voi tehdä ohjelmia ilman koodaustaitoa aivan kuten windowsissa visual basicilla.
piirretään käyttöliittymä ja tarinoidaan mitä sen pitää tehdä.
helppoa ja usein omaan käyttöön täysin hyvä ratkaisukin.

jos oikeasti haluaa edes vähän opetella ohjelmointia, on ratkaisuna lazarus. se on vähän kuin delphi windowilla mutta parempi kuitenkin. syntaksi on sama.

mikäli haluaa osoittaa että ongelmanratkaisukykyä on, niin sitten koodaa vain bash-skriptejä ja tekee niille käyttöliittymän vaikkapa paketilla zenity.

itse käytän nykyään pääsääntöisesti noita bash-skriptejä zenityllä kun en vain jaksa enkä viitsi kaikkea tehdä alusta asti. linuxille on niin valtava määrä valmiita konsolissa toimivia ohjelmia että on niille kätevää tehdä vain graafinen käyttöliittymä.
tosin se onnistuu sitten ihan millä tahansa kielellä vain.

allekirjoitukseni ehkä osaltaan kertoo sen, miksi menen aina yli siitä missä aita on matalin :)

Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: janne - 30.08.09 - klo:22.43
Ihan siis graafisen käyttöliittymän omaavien ohjelmien tekeminen on todella helppoa Qdevelop nimisen ohjelmiston avulla.

useiille linuxissa käytetyille ui toolkiteille on myös ui-builderit joiden avulla käyttöliittymän rakentaminen on helppoa. se logiikka vaan pitää osata kirjoittaa sinne taustalle sitten jollain kielellä. käytännössä noille toolkiteille on kyllä sitten bindingsit aika monelle kielelle.

Qt:n käyttämisessä on se etu, että Qtlle kirjoitetut softat saa toimimaan jokapaikassa mihin Qt on käännetty :) Windowsin ja Linuxin lisäksi siis myös esim. Symbian, Maemo ja WinMO älykännyköissä!  ;)

sama pätee tietty noihin muihinkin toolkitteihin (gtk+, wxwidgets).

tarpeen ja mieltymyksen mukaan, mutta työpöytäohjelmointia varten on kyllä erinomaisen turha opetella php:tä. mieluummin joku kieli joka on alunperin tarkoitettukin sellaiseen käyttöön. aloittelijalle tietysti mielellään helposti omaksuttava, syntaksiltaan konsistentti ja nopeasti tuloksia tuottava kieli ;)
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: Tommi S. - 31.08.09 - klo:18.31
Funktiokutsu on siten siinä mielessä saman arvoinen kuin uuden olion luominen, ja esimerkiksi Pythonin suunnittelufilosofiassa nämä toimenpiteet on aika pitkälle samaistettu. Uuden olion luominen ei siten ole luonteeltaan "eksplisiittinen" toimenpide, joka tulisi kielen perusfilosofian mukaan erikseen huomioida.

Pythonissakin uusien olioiden luomisesta täytyy eksplisiittisesti erikseen huolehtia esim. kopiointi käskyillä, aina silloin kun tarve vaatii.

new-käsky on yksiselitteinen merkki siitä että tässä kohdassa varataan muistia, tehdään uusi olio oletusarvoilla, ja palautetaan viittaus tähän uuteen olioon. New on eräänlainen pohjakosketus, johon tukeutuen voi suunnistaa eteenpäin. Ilman new:tä pohjakosketus täytyy hakea vielä syvempää, luokkien määrittelyistä.
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: snifi - 31.08.09 - klo:22.16
Pythonissakin uusien olioiden luomisesta täytyy eksplisiittisesti erikseen huolehtia esim. kopiointi käskyillä, aina silloin kun tarve vaatii.

Millaista esimerkkiä tässä ajattelet?
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: Stargazers - 01.09.09 - klo:08.45
Php:llä ei ole helppo tehdä ohjelmia.

Kertoisitko vielä perustelut että miksi ko. kielellä ei ole helppoa tehdä ohjelmia?
Minusta sillä on erittäin helppoa tehdä ohjelmia, ainoastaan Visual Basic on ollut helpompi,
joten olisi mielenkiintoista kuulla miksi muka ei olisi?

Jos scripti-kieltä meinaa käyttää niin suosittelisin pythonin opiskelua. Se kun tulee suoraan Ubuntussa ja sillä on kätevä tehdä ohjelmia.

No jaa. Kätevyys on suhteellista. Minusta on kätevää löytää joku funktio netistä ja copy-pasteta
se tarvittaessa. Parhaassa tapauksessa sama ei toimi Pythonissa jos pastebini vääntää tabit spaceksi.
Sitten väännät jokaisen rivin sisennykset kuntoon että parsinta menee läpi.
Kätevää? Not.

Toki, on Python ihan kiva monessakin ja olen sillä jotain Maemollekkin vääntänyt, ei siinä,
mutta on siinäkin huonot puolensa.

Se ei ole lähellekään niin kankea kuin php, ja sillä on pakko tehdä selkeännäköistä koodia. Lisäksi monet asiat siinä voidaan tehdä lyhemmällä koodimäärällä, joten aloittelijan kynnys on pieni.

Ei PHP:lläkään ole pakko tehdä pitkää koodia monestikkaan.
Mieluummin kirjoitan 3 selkeää riviä kuin yhden pitkän ja monimutkaisen, ottamatta nyt kantaa millä kielellä se on kirjoitettu.

Millä tapaa PHP on mielestäsi kankea?

Ja mitä tulee pakkoon tehdä selkeännäköistä koodia, niin onhan se selkeää mutta sitten kun avaat eri editorilla jossa sisennysvälit ovat eri ja teet pari riviä ja huomaat että sisennykset eivät menneet täysin yksiin edellisten kanssa ja sitä sitten selvittelet niin kyllä siinä vaiheessa mielessä käy että onko tämäkään nyt niin hyvä tapa.
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: Mute - 03.09.09 - klo:21.29
Onko kaikki unohtanut jo Urban Müllerin luoman Brainfuck-kielen. Se on parasta :P. Ei oo ainakaan liikaa komentoja. http://en.wikipedia.org/wiki/Brainfuck (http://en.wikipedia.org/wiki/Brainfuck)
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: peran - 03.09.09 - klo:23.29
Php:llä ei ole helppo tehdä ohjelmia.

Kertoisitko vielä perustelut että miksi ko. kielellä ei ole helppoa tehdä ohjelmia?
Minusta sillä on erittäin helppoa tehdä ohjelmia, ainoastaan Visual Basic on ollut helpompi,
joten olisi mielenkiintoista kuulla miksi muka ei olisi?

Koska siinä ei ole olemassa kunnon debuggaustoimintoja. Pythonissa voi kirjoittaa koodin suoraan tulkille ja näet heti mitä koodisi tekee. Sen jälkeen vain kopioit käskysi tiedostoon ja tallennat, jolloin scripti on jo valmis. Lisäksi käskyt eivät toimi loogisesti samalla rakenteella kaikelta osin.

Esimerkiksi näiden parametrijärjestys on ainakin oman assosiaationi mukaan erilaiset, vaikka toiminta on hyvin pitkälle samantapaista eli etsitään merkkijonoa. Ainakin minun mielestä php:ssä olisi parempi, jos str_replace:n parametrijärjestys olisi: subject, search, replace, count.
string strstr ( string $haystack , mixed $needle [, bool $before_needle= false ] )
mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

Lisäksi tossa strstr-funktiossa ja monessa muussakin vakiokirjaston funktiossa epäloogisesti voi palauttaa kahta eri tyyppistä palautetta, vaikka parametrit olisivatkin identtisen tyyppiset.

Jos scripti-kieltä meinaa käyttää niin suosittelisin pythonin opiskelua. Se kun tulee suoraan Ubuntussa ja sillä on kätevä tehdä ohjelmia.

No jaa. Kätevyys on suhteellista. Minusta on kätevää löytää joku funktio netistä ja copy-pasteta
se tarvittaessa. Parhaassa tapauksessa sama ei toimi Pythonissa jos pastebini vääntää tabit spaceksi.
Sitten väännät jokaisen rivin sisennykset kuntoon että parsinta menee läpi.
Kätevää? Not.

Jeps, tota pasteamista pythonin parseriin voisi kehittää siten, että se itse korjaisi automaattisesti noita sisennysongelmia.

Toki, on Python ihan kiva monessakin ja olen sillä jotain Maemollekkin vääntänyt, ei siinä,
mutta on siinäkin huonot puolensa.

Se ei ole lähellekään niin kankea kuin php, ja sillä on pakko tehdä selkeännäköistä koodia. Lisäksi monet asiat siinä voidaan tehdä lyhemmällä koodimäärällä, joten aloittelijan kynnys on pieni.

Ei PHP:lläkään ole pakko tehdä pitkää koodia monestikkaan.
Mieluummin kirjoitan 3 selkeää riviä kuin yhden pitkän ja monimutkaisen, ottamatta nyt kantaa millä kielellä se on kirjoitettu.

Millä tapaa PHP on mielestäsi kankea?

No, php on tehty sivujen scriptaus kieleksi, ja siinä se ajaa usein asiansa, mutta aloittelijaa kyseinen suorastaa kannustaa tekemään spakettikoodia, koska olio-ominaisuudet ovat siihen jälkikäteen lisätty. Lisäksi olio-ominaisuuksista taitaa edelleen puuttua täydellinen kapselointi. Tosin luultavasti tämä ongelma korjataan, jos ei ole jo korjattu.  Valitettavasti moni aloittelija aloittaa php:llä, ja tekee reikäistä koodia omalle serverilleen, josta pahantahtoinen crackkeri saa serverin hallintaan ainakin osan aikaa.

Oletko kokeillut tehdä säikeitä php:llä?

Ja mitä tulee pakkoon tehdä selkeännäköistä koodia, niin onhan se selkeää mutta sitten kun avaat eri editorilla jossa sisennysvälit ovat eri ja teet pari riviä ja huomaat että sisennykset eivät menneet täysin yksiin edellisten kanssa ja sitä sitten selvittelet niin kyllä siinä vaiheessa mielessä käy että onko tämäkään nyt niin hyvä tapa.

Kuitenkin toi sisennyksiin pakottaminen on varsinkin aloittelijoille tärkeää, vielä kun ohjelmat ovat lyhyitä ymmärtää sisentämättömänkin ohjelman toiminnan, mutta jos ja kun huono ohjelmointitapa jää päälle, tulee ongelmia myöhemmin VARMASTI.

[OffTopic]
Vaikken pidäkään php:tä hyvänä kielenä aloittelijalle, niin siitä huolimatta tulen todennäköisesti opettamaan kyseistä kieltä ensimmäiseksi ohjelmointikieleksi. Lisäksi vielä dynaamisille nettisivuille.  :P

Lisää OffTopicia:
Minun mielestäni loppujen lopuksi ei ole suurtakaan väliä minkä suositun kielen valitsee ensimmäiseksi ohjelmointikielekseen, koska suosituimmissa kielissä ei kuitenkaan ole kovin suuria eroja, joten kun opettelee ensimmäisen kielen, niin sen jälkeen oppii nopeasti toisen kielen, mikäli sellaista tarvitsee.
Itse opettelin ohjelmoimaan Basic:llä 80-luvulla. Siinä oli paljon puutteita, ja väkisinkin joutui ohjelmoimaan spakettikoodia isommissa projekteissa. Onneksi nykyään on lähes kaikki ohjelmointikielet ovat niin kehittyneitä, ettei ohjelmoija ole pakoitettu tekemään spakettia (jopa assembler). Assembleria en nyt kuitenkaan suosittelisi ensimmäiseksi ohjelmointikieleksi.
[/OffTopic]
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: Jantunen - 04.09.09 - klo:16.20
Php:llä ei ole helppo tehdä ohjelmia.

Kertoisitko vielä perustelut että miksi ko. kielellä ei ole helppoa tehdä ohjelmia?
Minusta sillä on erittäin helppoa tehdä ohjelmia, ainoastaan Visual Basic on ollut helpompi,
joten olisi mielenkiintoista kuulla miksi muka ei olisi?

Koska siinä ei ole olemassa kunnon debuggaustoimintoja. Pythonissa voi kirjoittaa koodin suoraan tulkille ja näet heti mitä koodisi tekee. Sen jälkeen vain kopioit käskysi tiedostoon ja tallennat, jolloin scripti on jo valmis.

PHP:n funktioiden loogisuuden suhteen olen samaa mieltä, mutta kyllä PHP:lle on olemassa command-line interpreter:

Koodia: [Valitse]
sudo aptitude install php5-cli
php -a
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: odysseus - 04.09.09 - klo:18.48
Tämä onkin mielenkiintoinen ketju.

Itse herättäisin kiistelyn sijaan ihan ensimmäiseksi ajatuksen seuraavista seikoista:

1) Kysyttiin ohjelmointikieltä: On olemassa erilaisia; käännettäviä, pseudokäännettäviä ja tulkattavia!
2) Mikä on paras mihinkin tarkoitukseen?

Itse pidän (ja on >20v kokemusta) C:stä ja sen laajennuksesta (C++) kun tarvitsee tehdä käännettyä koodia (sen hybridiominaisuuksien vuoksi, eli että se sisältää C:n).
Käyttöliittymäpuolella (GUI) arvostan QT:ta sen laitteistoalustariippumattomuuden vuoksi.
Webbipuolella ja nopeissa ratkaisuissa suosin PHP:tä sen helppouden (ja hybridiominaisuuksien) vuoksi.

Ylipäätään arvostan noita hybridikieliä (esim C++ ja PHP)  pelkän oliomallin sijaan (esim Java).

Voin myös sanoa, että kartan ja kierrän kaukaa ratkaisuja, jotka ovat laitealustaan sidottuja (esim. .NET, C#, Visual Basic, erilaiset alustariippuvat kirjastot jne) sekä Java sen versioherkkyyden ja suunnattoman monimutkaisen luokkakirjasto- sekä paketointimallinsa vuoksi.

Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: Stargazers - 08.09.09 - klo:12.05
No, php on tehty sivujen scriptaus kieleksi, ja siinä se ajaa usein asiansa, mutta aloittelijaa kyseinen suorastaa kannustaa tekemään spakettikoodia, koska olio-ominaisuudet ovat siihen jälkikäteen lisätty.

Tästä olen eri mieltä. Ei aloittelijoiden ole mikään pakko tehdä spagettikoodia eikä kieli mielestäni siihen kannusta. Kielessä on nykyään kohtalaiset olio-ohjelmointiominaisuudet, joten ne ovat käytettävissä.
Vaikka ne on jälkeenpäin lisätty, ei se ole syy huonoon koodiin. Onhan autoihinkin lisätty turvavyöt jälkikäteen mutta eivät autot silti kannusta ajamaan ilman niiden käyttöä (näin totaalisen offtopiccina).

Oletko kokeillut tehdä säikeitä php:llä?

En, sillä ei ole koskaan tainnut olla edes tarvetta. Ja toki kieli pitää valita tarpeen mukaan.
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: snifi - 08.09.09 - klo:14.04
Minun mielestäni Pythonin valitseminen PHP:n sijaan on kuitenkin perusteltua, sillä kielten välillä on se pienoinen vivahde-ero, jota tässäkin on sivuttu, ja se kannattaa käyttää hyväksi.
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: Ux64 - 13.09.09 - klo:19.30
Minun mielestäni Pythonin valitseminen PHP:n sijaan on kuitenkin perusteltua, sillä kielten välillä on se pienoinen vivahde-ero, jota tässäkin on sivuttu, ja se kannattaa käyttää hyväksi.

Ääni Pythonille myös. Vaikka Javalla on tullut enemmän koodattua, niin jos aloittaisin puhtaalta pöydältä valitsisin Pythonin.
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: mikko_h - 19.09.09 - klo:03.23
+1 Pythonille, jota olen tainnut suositella täällä ennenkin. PHP:tä olen joutunut olosuhteiden pakosta käyttämään, ja siitä kyllä näkee, että kieli on lähinnä nykymuotoonsa kerääntynyt klöntti eikä sen kummemmin suunniteltu kokonaisuus. Tietysti kaikki hommat hoituvat millä tahansa Turing-täydellisellä kielellä, eli millä tahansa mainituista, jos tyylipisteitä ja vaivaa ei lasketa (Googlella löytää esim. sedillä toteutetun Tetriksen yms. teoksia).

Ohjelmoinnin oppimisen kannalta voi olla avuksi ainakin kokeilla jossain vaiheessa jotain ns. funktionaalista kieltä, esim. Lispiä, Schemeä tai nousussa olevaa uutuutta Clojurea. Näissä tosin kirjastojen yms. saatavuus ja asentamisen helppous ei ole samaa luokkaa kuin Pythonissa, johon lähes kaiken saa nykyään Linux-distrossa valmiina. Clojure-koodi lisäksi kääntyy Java-virtuaalikoneelle, mikä aiheuttaa omat mutkansa matkaan.
Otsikko: Vs: Ohjelmien teko Ubuntuun?
Kirjoitti: Ux64 - 19.09.09 - klo:19.07
Jos kaipaa  haastetta niin sitten vaikka White Spacea... ;)

http://en.wikipedia.org/wiki/Whitespace_%28programming_language%29

Slashdotissa oli muuten just juttua konvertterista joka kääntää Python ohjelmat JavaScriptiksi jotta niitä voi ajaa suoraan selaimessa ilman uusia plugineja.

http://developers.slashdot.org/story/09/09/19/1345236/Python-Converted-To-JavaScript-Executed-In-Browser?from=rss

Viimeiseksi piristysruiskeeksi Hello World ohjelma BrainF**k kielellä.

Koodia: [Valitse]
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.