Kirjoittaja Aihe: Ohjelmien teko Ubuntuun?  (Luettu 13563 kertaa)

OH2FPG

  • Vieras
Ohjelmien teko Ubuntuun?
« : 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?

Tha-Fox

  • Käyttäjä
  • Viestejä: 3315
  • Arch Linux && CentOS
    • Profiili
    • http://kettu.dy.fi
Vs: Ohjelmien teko Ubuntuun?
« Vastaus #1 : 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.

Stargazers

  • Käyttäjä
  • Viestejä: 549
    • Profiili
Vs: Ohjelmien teko Ubuntuun?
« Vastaus #2 : 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.

raimo

  • Käyttäjä
  • Viestejä: 4155
  • openSUSE Tumbleweed
    • Profiili
Vs: Ohjelmien teko Ubuntuun?
« Vastaus #3 : 21.08.09 - klo:14.22 »
Perl ja GTK, siinä se!  8)
Tietä käyden tien on vanki. Vapaa on vain umpihanki.
Aaro Hellaakoski

Lasse.

  • Käyttäjä
  • Viestejä: 1668
  • Techjunkie.
    • Profiili
    • Liquid Flower Games
Vs: Ohjelmien teko Ubuntuun?
« Vastaus #4 : 21.08.09 - klo:14.23 »
Itseppä suosittelen C:tä, sen osaamisesta on hyötyä alustasta riippumatta.
« Viimeksi muokattu: 21.08.09 - klo:14.37 kirjoittanut Lasse. »
Kone 1: Intel Core i5 2500K, 8GB DDR3, nVidia GTX 560 Ti 1GB, 2x1TB & 1x 250GB HDD, Windows 7 & Arch
Kone 2: Lenovo Ideapad Z370 (i5-2410M, 4GB RAM & GeForce 410M) Chakra
Google LG Nexus 4 (ParanoidAndroid)
Linuxia noin vuodesta 2004.

janne

  • Käyttäjä
  • Viestejä: 5150
    • Profiili
Vs: Ohjelmien teko Ubuntuun?
« Vastaus #5 : 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.
Janne

mgronber

  • Käyttäjä
  • Viestejä: 1458
    • Profiili
Vs: Ohjelmien teko Ubuntuun?
« Vastaus #6 : 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.

samja

  • Käyttäjä
  • Viestejä: 182
    • Profiili
Vs: Ohjelmien teko Ubuntuun?
« Vastaus #7 : 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.
Yleisfoorumi:  http://ajatusmylly.net

Jiku

  • Käyttäjä
  • Viestejä: 248
    • Profiili
Vs: Ohjelmien teko Ubuntuun?
« Vastaus #8 : 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 seuraus oli vain se, että firefox poistettiin  ???.
Ja esimekkiohjelma 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ä 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();
?>

« Viimeksi muokattu: 22.08.09 - klo:12.31 kirjoittanut Jiku »
Puoliksi suunniteltu on hyvin tehty

Stargazers

  • Käyttäjä
  • Viestejä: 549
    • Profiili
Vs: Ohjelmien teko Ubuntuun?
« Vastaus #9 : 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ä? :)

snifi

  • Vieras
Vs: Ohjelmien teko Ubuntuun?
« Vastaus #10 : 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 ::

Jantunen

  • Käyttäjä
  • Viestejä: 254
  • Hö.
    • Profiili
    • Strobotti.com: Valokuvausta ja kameraharrastusta
Vs: Ohjelmien teko Ubuntuun?
« Vastaus #11 : 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 :)
Lenovo Thinkpad T420 Intel i5 16Gt/SSD512GB+HDD2TB, Ubuntu 16.04 Xenial Xerus 64bit; Kuvia ja lätinää valokuvauksesta: https://www.strobotti.com/

snifi

  • Vieras
Vs: Ohjelmien teko Ubuntuun?
« Vastaus #12 : 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.


Stargazers

  • Käyttäjä
  • Viestejä: 549
    • Profiili
Vs: Ohjelmien teko Ubuntuun?
« Vastaus #13 : 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.

mgronber

  • Käyttäjä
  • Viestejä: 1458
    • Profiili
Vs: Ohjelmien teko Ubuntuun?
« Vastaus #14 : 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ä on jokin versio siitä.

mgronber

  • Käyttäjä
  • Viestejä: 1458
    • Profiili
Vs: Ohjelmien teko Ubuntuun?
« Vastaus #15 : 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öä.

mgronber

  • Käyttäjä
  • Viestejä: 1458
    • Profiili
Vs: Ohjelmien teko Ubuntuun?
« Vastaus #16 : 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 tai Django?

Jantunen

  • Käyttäjä
  • Viestejä: 254
  • Hö.
    • Profiili
    • Strobotti.com: Valokuvausta ja kameraharrastusta
Vs: Ohjelmien teko Ubuntuun?
« Vastaus #17 : 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 tai Django?


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)
Lenovo Thinkpad T420 Intel i5 16Gt/SSD512GB+HDD2TB, Ubuntu 16.04 Xenial Xerus 64bit; Kuvia ja lätinää valokuvauksesta: https://www.strobotti.com/

qwertyy

  • Käyttäjä
  • Viestejä: 5661
    • Profiili

snifi

  • Vieras
Vs: Ohjelmien teko Ubuntuun?
« Vastaus #19 : 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.



« Viimeksi muokattu: 27.08.09 - klo:23.06 kirjoittanut snifi »