|
|
|
KESKUSTELU
Tiede.fi-foorumin päävalikko. Keskustelua kaikille tieteestä kiinnostuneille. Edellyttää rekisteröitymistä.
Näytä vastaamattomat viestit | Näytä aktiiviset viestiketjut
| Kirjoittaja |
Viesti |
|
kse
|
Viestin otsikko: Re: Koodaamisen itsenäinen opiskelu Lähetetty: Ma Maalis 08, 2010 2:19 am |
|
Liittynyt: La Marras 21, 2009 1:34 am Viestit: 666
|
|
Sopiva suositus riippuu aika paljon siitä mikä on tavoite- ja ambitiotaso.
Jos kiinnostus on puhtaasti pienten sovellusten väsäämisessä omaan käyttöön ja helppojen harjoitustöiden teko koululle, niin varmaankin joku sopiva korkean tason oliokieli IDEineen on varmaakin oiva valinta. Itse suosittelisin Pythonia, koska sillä on äärimmäisen helppo lähteä liikkelle, mutta sillä kuintenkin potentiaalia varsin pitkälle.
Jos taas haluaa ymmärtää asiat perinpohjaisesti ja päästä kunnolla "sisuskaluihin" kiinni, niin sitten korkean tason kielistä on vain haittaa. Yksi suuri ongelma on esim. siitä, että ne usein abstrahoivat tietorakenteet ohjelmoijan näkymättömiin (tästä ei tietysti ole haittaa, jos on aiemmin opetellut asiat tai puskee töitä perustason koodarikulina, jolle joku muu kertoo mitä tietorakenteita ja algoritmejä käyttä).
Riittävän yksinkertaisella kielellä pääsee (eli siis joutuu) koodaamaan itse alusta alkaen kaikki aivan yksinkertaisimpia rakenteita lukuunottamatta. Tällöin pystyy omaksumaan sen, miten eri asioita kannattaa koodata ja esim. miten tietorakenteiden ja algoritmien valinta vaikuttaa suorituskykyyn, muistinkulutukseen jne.
Yksin kertaisista kielistä C olisi ainakin ilmeinen valinta - se ei ole kielistä mitenkään kaunein tai siistein, mutta ainakin sillä on mahdollisesti käyttöä jatkossakin - ainakin, jos haluaa tehdä jotain laiteläheistä tai peuhata muuten käyttöjärjestelmien kanssa. Toinen vaihtoehto olisi tietysti scheme...
_________________ "Self-evidently dangerous climate change will not emerge from a normal scientific process of truth seeking... ...scientists - and politicians - must trade (normal) truth for influence." - Prof. Mike Hulme, UEA
|
|
| Ylös |
|
 |
|
Heksu
|
Viestin otsikko: Re: Koodaamisen itsenäinen opiskelu Lähetetty: Ma Maalis 08, 2010 12:07 pm |
|
Liittynyt: Ke Maalis 16, 2005 12:56 pm Viestit: 2414 Paikkakunta: Lahti
|
Saw kirjoitti: Työelämään tarvitaan JAVAA. Työelämää on monenlaista. Voisin yhtä hyvin väittää, että työelämässä tarvitaan .Nettiä. Riippuu ihan puhtaasti siitä minkä alan hommia päätyy tekemään.
_________________ Kokeilu on tieteen paras menettelytapa. - Pelle Peloton
|
|
| Ylös |
|
 |
|
abskissa
|
Viestin otsikko: Re: Koodaamisen itsenäinen opiskelu Lähetetty: Ma Maalis 08, 2010 8:58 pm |
|
Liittynyt: To Loka 09, 2008 7:52 pm Viestit: 1577
|
Heksu kirjoitti: Toki jos kyseessä on pelkkä harrastus, pelkällä notepadillakin voi monissa tapauksissa tulla aivan hyvin toimeen. Notepadia en edes laske tekstieditoriksi. Kaikille nykykielille saa kehittyneet työkalut aivan ilmaiseksi, joten niiden perusteella ei valintaa tarvitse tehdä. Kunnollinen tekstieditori kuuluu joka tapauksessa ohjelmoijan työkalupakkiin, vaikka koodin vääntäisikin IDEssä. Pitää taas mainostaa Project Euleria. Erinomainen tapa harjoitella kielen kuin kielen alkeita.* Samalla saa vähän harjoitusta algoritmeihin ja ongelmanratkaisuun yleensä. Koska tehtävissä toistuu tietyt peruskäsitteet, fiksu ohjelmoija oivaltaa tehdä uudelleenkäytettäviä osia, joten jotain suunnitteluymmärrystäkin saattaa kehittyä. *: Toki noita tehtäviä voi ratkoa ihan kynällä ja paperillakin, mutta haastavaksi menee.
_________________ *******************************************************
|
|
| Ylös |
|
 |
|
BrunenG
|
Viestin otsikko: Re: Koodaamisen itsenäinen opiskelu Lähetetty: Ma Maalis 08, 2010 9:27 pm |
|
Liittynyt: Ma Helmi 22, 2010 3:20 am Viestit: 42
|
kahlaaja kirjoitti: Kuitenkin mitä, millä ja miten kannattaa opetella tätä jaloa taitoa. Olen myös aloittamassa ensi syksynä TKK:lla opintoni joten tämä harjoittelu varmasti antaisi hyvää pohjaa opintoja varten... Auttaisi vähän jos tietäisi mitä alaa aiot opiskella. Hyödyllisin kieli vaihtelee paljon alan mukaan. Kannattaa katsoa opiskeliaoppaat, ja kurssikuvaukset sekä kurssien kotisivut. Jos on todella tylsää voi ilmoittautua jo nyt avoimeen yliopistoon ja etäsuorittaa kursseja.
|
|
| Ylös |
|
 |
|
Heksu
|
Viestin otsikko: Re: Koodaamisen itsenäinen opiskelu Lähetetty: Ma Maalis 08, 2010 9:29 pm |
|
Liittynyt: Ke Maalis 16, 2005 12:56 pm Viestit: 2414 Paikkakunta: Lahti
|
abskissa kirjoitti: Pitää taas mainostaa Project Euleria. Erinomainen tapa harjoitella kielen kuin kielen alkeita.* Tämäpä olikin hyvä vinkki, kiitos 
_________________ Kokeilu on tieteen paras menettelytapa. - Pelle Peloton
|
|
| Ylös |
|
 |
|
kse
|
Viestin otsikko: Re: Koodaamisen itsenäinen opiskelu Lähetetty: Ti Maalis 09, 2010 12:56 am |
|
Liittynyt: La Marras 21, 2009 1:34 am Viestit: 666
|
BrunenG kirjoitti: kahlaaja kirjoitti: Kuitenkin mitä, millä ja miten kannattaa opetella tätä jaloa taitoa. Olen myös aloittamassa ensi syksynä TKK:lla opintoni joten tämä harjoittelu varmasti antaisi hyvää pohjaa opintoja varten... Auttaisi vähän jos tietäisi mitä alaa aiot opiskella. Hyödyllisin kieli vaihtelee paljon alan mukaan. Kannattaa katsoa opiskeliaoppaat, ja kurssikuvaukset sekä kurssien kotisivut. Jos on todella tylsää voi ilmoittautua jo nyt avoimeen yliopistoon ja etäsuorittaa kursseja. Tietotekniikan osalta on ainakin tullut kuultua sellaista, että suurin osa "mää oon koodannut javaa 7-vuotiaasta alakaen" -tyypeistä valittaa peruskursiin kaikkille opiskelijoille yhteisen osan aikana kurssin "naurettavasta helppoudesta" - vaan sitten kun siirrytään tietotekniikan opiskelijoille spesifiseen osaan, niin nämä "lapsigurut" aloittavatkin vielä suuremman parkumisen opintojen järjettömyydestä ja - käsittääkseni - osa jopa lopettaa opintonsa tuohon. Ilmeisesti se on vain niin vaikea tunnustaa, että kaikki mitä on itse oppinut vuosien saatossa onkin pelkää roskaa, joka pitäisi unohtaa, että pääsisi eteenpäin.
_________________ "Self-evidently dangerous climate change will not emerge from a normal scientific process of truth seeking... ...scientists - and politicians - must trade (normal) truth for influence." - Prof. Mike Hulme, UEA
|
|
| Ylös |
|
 |
|
kse
|
Viestin otsikko: Re: Koodaamisen itsenäinen opiskelu Lähetetty: Ti Maalis 09, 2010 1:06 am |
|
Liittynyt: La Marras 21, 2009 1:34 am Viestit: 666
|
abskissa kirjoitti: Kaikille nykykielille saa kehittyneet työkalut aivan ilmaiseksi, joten niiden perusteella ei valintaa tarvitse tehdä. Kunnollinen tekstieditori kuuluu joka tapauksessa ohjelmoijan työkalupakkiin, vaikka koodin vääntäisikin IDEssä.
Miksi tyytyä tekstieditoreihin ja huonoihin valmistajakohtaisiin IDEihin, koska aina voi käyttää emacsia?
_________________ "Self-evidently dangerous climate change will not emerge from a normal scientific process of truth seeking... ...scientists - and politicians - must trade (normal) truth for influence." - Prof. Mike Hulme, UEA
|
|
| Ylös |
|
 |
|
softbuster
|
Viestin otsikko: Re: Koodaamisen itsenäinen opiskelu Lähetetty: Ti Maalis 09, 2010 1:21 pm |
|
Liittynyt: Ke Marras 25, 2009 10:27 am Viestit: 39
|
Heksu kirjoitti: Saw kirjoitti: Työelämään tarvitaan JAVAA. Työelämää on monenlaista. Voisin yhtä hyvin väittää, että työelämässä tarvitaan .Nettiä. Riippuu ihan puhtaasti siitä minkä alan hommia päätyy tekemään. Niinpä! En ole vielä kohdannut DSP järjestelmiä, jossa tarvitaan JAVAA. Siellä C on edelleen se lähes ainut ja oikea kieli assyn rinnalla C-kielen kun hanskaa, niin hanskaa kaikki muutkin + oppii ymmärtämään matalantason hommistakin jotain. Tosin mihin sitä matalantason osaamista tarvitaan, jos survoo UI koodia tms. Joskus näin analogisen kellon Windowsissa, joka oli koodattu 100% assemblerilla. Tais mennä melko pieneen tilaan. Tosin nykyään on vähän hankala käyttää pelkkää assya moniydinprossuissa Tässäpä varsin oiva koodaamisprojekti Mutta koodin koko ja suoritusaika kunniaan, siirtykäämme assembleriin 
|
|
| Ylös |
|
 |
|
abskissa
|
Viestin otsikko: Re: Koodaamisen itsenäinen opiskelu Lähetetty: Ti Maalis 09, 2010 7:00 pm |
|
Liittynyt: To Loka 09, 2008 7:52 pm Viestit: 1577
|
softbuster kirjoitti: C-kielen kun hanskaa, niin hanskaa kaikki muutkin + oppii ymmärtämään matalantason hommistakin jotain. Matalan tason ymmärryksestä on tietenkin aina hyötyä, mutta muuten tuo ei pidä paikkaansa. Vaikka Javan tai C#:n syntaksi on C:stä peritty, niin kielinä niillä ei C:n kanssa ole juuri mitään tekemistä. Proseduraalisesta oliokieleen siirtyvä joutuu opettelemaan paljon uusia asioita. Siirtymävaiheessa, joka voi kestää vuosia, ensimmäistä oliokieltä opetteleva koodari soveltaa pääasiassa aivan vääränlaisia (siis proseduraalisia) ongelmanratkaisu- ja suunnittelumalleja. Koodi on pullollaan staattisia metodeja ja luokiksi naamioituja structeja (IDE "auttaa" tässä, kun saa napin painalluksella julkiset getterit ja setterit kaikille kentille). Polymorfismia, perintää, rajapintoja ja abstrakteja luokkia tms. olio-ominaisuuksia ei ole hyödynnetty yhtikäs missään. On vain structeja ja niitä manipuloivia funktioita, joita vain nimitetään luokiksi ja metodeiksi. Itse asiassa väittäisin, että samaan syntiin sortuvat myös pelkästään oliokielten kanssa peuhanneet ja kokeneetkin ohjelmoijat. Olioajattelu on vaikea oppia ja vielä vaikeampi soveltaa. En ole eläissäni nähnyt yhtään lähellekään tyylipuhdasta oliototeutusta. Enkä tehnyt.
_________________ *******************************************************
|
|
| Ylös |
|
 |
|
MaKo71
|
Viestin otsikko: Re: Koodaamisen itsenäinen opiskelu Lähetetty: Ti Maalis 09, 2010 7:19 pm |
|
Liittynyt: Ke Marras 15, 2006 1:09 pm Viestit: 940 Paikkakunta: Oulu
|
abskissa kirjoitti: En ole eläissäni nähnyt yhtään lähellekään tyylipuhdasta oliototeutusta. Enkä tehnyt. Toisaalta tuohan on harvoin kellekään mikään päämäärä, ainakaan minusta "oliomaisuudella" ei ole itseisarvoa.
_________________ http://mkoskim.drivehq.com http://mkoskim.deviantart.com
|
|
| Ylös |
|
 |
|
abskissa
|
Viestin otsikko: Re: Koodaamisen itsenäinen opiskelu Lähetetty: Ti Maalis 09, 2010 8:02 pm |
|
Liittynyt: To Loka 09, 2008 7:52 pm Viestit: 1577
|
MaKo71 kirjoitti: Toisaalta tuohan on harvoin kellekään mikään päämäärä, ainakaan minusta "oliomaisuudella" ei ole itseisarvoa. Ei tietenkään. Pitää nyt korjata sen verran, että olen myös nähnyt niitä hyviä ja jonkin verran oliomaisiakin toteutuksia. Tarkoitin vain sitä, että tyylipuhtauteen on vaikeaa tai mahdotonta päästä. Jos työkaluksi on kuitenkin valittu oliokieli, toteutuksissa olisi ihan hyvä pyrkiä mahdollisimman oliomaisiin ratkaisuihin. Niitä ajatellen se kieli on suunniteltu, ja niissä se toimii parhaimmillaan. Mikään lopullinen hopealuotiparadigma olio-ohjelmointikaan ei tietenkään ole. 
_________________ *******************************************************
|
|
| Ylös |
|
 |
|
softbuster
|
Viestin otsikko: Re: Koodaamisen itsenäinen opiskelu Lähetetty: Ti Maalis 09, 2010 8:20 pm |
|
Liittynyt: Ke Marras 25, 2009 10:27 am Viestit: 39
|
abskissa kirjoitti: softbuster kirjoitti: C-kielen kun hanskaa, niin hanskaa kaikki muutkin + oppii ymmärtämään matalantason hommistakin jotain. Matalan tason ymmärryksestä on tietenkin aina hyötyä, mutta muuten tuo ei pidä paikkaansa. Vaikka Javan tai C#:n syntaksi on C:stä peritty, niin kielinä niillä ei C:n kanssa ole juuri mitään tekemistä. Proseduraalisesta oliokieleen siirtyvä joutuu opettelemaan paljon uusia asioita. Siirtymävaiheessa, joka voi kestää vuosia, ensimmäistä oliokieltä opetteleva koodari soveltaa pääasiassa aivan vääränlaisia (siis proseduraalisia) ongelmanratkaisu- ja suunnittelumalleja. Koodi on pullollaan staattisia metodeja ja luokiksi naamioituja structeja (IDE "auttaa" tässä, kun saa napin painalluksella julkiset getterit ja setterit kaikille kentille). Polymorfismia, perintää, rajapintoja ja abstrakteja luokkia tms. olio-ominaisuuksia ei ole hyödynnetty yhtikäs missään. On vain structeja ja niitä manipuloivia funktioita, joita vain nimitetään luokiksi ja metodeiksi. Itse asiassa väittäisin, että samaan syntiin sortuvat myös pelkästään oliokielten kanssa peuhanneet ja kokeneetkin ohjelmoijat. Olioajattelu on vaikea oppia ja vielä vaikeampi soveltaa. En ole eläissäni nähnyt yhtään lähellekään tyylipuhdasta oliototeutusta. Enkä tehnyt. Tavallaan totta turiset. Tuo puhdas olioajattelu ja ohjelmointi on nykyään lähinnä harha-ajattelua. Firmoissa (niin suomessa kuin muuallakin) käytetään hyvinkin paljon erilaisia UML mallinnustyökaluja ja niillä jopa pyritään saamaan aikaan toimivaa koodia. Käsin koodatut C++ sovellukset on varsin kaukana olioajattelusta. Eräässäkin suuressa saksalaisessa firmassa lähes kaikki oli mallinnettu ja hienoja luokkakaavioita yms. oli piirretty viimesen päälle, mutta kun koodiin vilkas, niin se kauheus paljastu. Siellä oli suvereenisti käytetty strukturaalisia tapoja. Eli kuten sanoit, tehty structeja, jotka "näyttää" luokilta. Kun jotain uutta oli lisätty, niin mallikaavioita ei oltu päivitetty. Ja itse mallikaaviot oli 3-4v vanhoja Puhas mallinnus / olio-ohjelmointi on nykyään aikataulujen puiteissa melko hankalaa ja siks useimmissa isoissa alan firmoissa koodit on sitä C ja C++ sekamelskaa. Matalantason softat onneks tehdään vielä perinteisellä C kielellä ja hyvin paljon embedded SW hommia tehdään vielä C-kielellä. Trendi on nykyään se, että erilaiset itsenäiset rautakortit, driverit, aktiivisensorit, modeemit, L2-L3 protokollakerrokset yms. toteutetaan pääosin C -kielellä.
|
|
| Ylös |
|
 |
|
mal
|
Viestin otsikko: Re: Koodaamisen itsenäinen opiskelu Lähetetty: Ti Maalis 09, 2010 8:37 pm |
|
Liittynyt: Ma Marras 30, 2009 10:52 pm Viestit: 248
|
|
| Ylös |
|
 |
|
Zäp
|
Viestin otsikko: Re: Koodaamisen itsenäinen opiskelu Lähetetty: Ti Maalis 09, 2010 8:47 pm |
|
Liittynyt: Ma Loka 19, 2009 10:19 pm Viestit: 865
|
|
Monesti kun siirrytään IT-puolesta insinöörisovellusten kautta tieteelliseen laskentaan, niin oliopohjaiset kielet vaihtuvat proseduaalisiin, eikä tarvitse mennä edes kovin hard core sovelluksiin kun hallitsevaksi kieleksi tulee Fortran.
_________________ "Erikoisen merkityksen saa juuri neutronien aikaansaama fissio, kun havaitaan että esim. U-235 -ytimen halkeamisessa vapautuu keskimäärin 2,5 uutta neutronia."
- Atomi- ja ydinfysiikka, P. Jauho 1961
|
|
| Ylös |
|
 |
|
softbuster
|
Viestin otsikko: Re: Koodaamisen itsenäinen opiskelu Lähetetty: Ti Maalis 09, 2010 9:54 pm |
|
Liittynyt: Ke Marras 25, 2009 10:27 am Viestit: 39
|
mal kirjoitti: Kyllähän tuo olio-ohjelmointi välillä tuottaa aika hupaisia implementaatioita, esim. http://www.vtk.org/doc/nightly/html/cla ... _graph.pngGooglen C++ -ohjeistus on aika lähellä sitä, miten meilläpäin on pyritty asioita käytännössä toteuttamaan. Tuo kaavio taitaakin olla sitä nykytaidetta olioajattelulla höystettynä.... Nuo C++ ohjeistukset on monessa firmassa varsin hyvällä tasolla. Projektin alussa niitä noudaetaan pilkuntarkkaan. Mutta ongelma usein piileekin vanhoissa koodeissa, joita on päätetty käyttää uudessa tuotteessa. Sieltä kun löytyy varsin mielenkiintoisia "olioita", joiden modaaminen projektin haluamalle tasolle on vaivalloista. Ja jos aikataulu on tiukka, niin vanhaan koodiin sörkitään nopeasti halutut muutokset ja sovitaan, että tehdään uus ja parempi kun jää aikaa. Ja senhän nyt sitten tietää miten siinä käy. Eli vanhat oliohässäkät tunataan kuntoon ja taas sama ongelma odottaa toista projektia Olis joskus mukava päästä sellasiin hommiin, jossa alkuperäinen roska on tehty alusta saakka oikeilla menetelmillä ja olioajattelulla. Sellaselle toiminnalle nostaisin hattua DSP hommissa C on aivan ykkönen. Nykykääntäjät tekee hyvin hyvin tiivstä koodia ja osaa ottaa huomioon esim. käskyjen rinnakkaisajoa jne. Kooduksessa joutuu käyttämään muutamia jippoja, joilla kääntäjä tajuaa että nyt lasketaan ALU A rekkareilla ja nyt B:n rekkareilla. Hyvin harvoin kannattaa käsin koodailla assya nyky DSP:lle. Kääntäjät tarjoo ns. intrinsic -toimintoja joilla pääsee käsiks DSP spesiaalisiin käskykantoihin. Kääntäjä on joskus jopa niin fiksu, että osaa C koodista päätellä, että tässä kohtaa voisi käyttää sisäänrakennettuja käskykantoja. Kääntäjät mahdollistaa C++ koodin, mutta sitä ei käytetä, kun käyttikset on useimmiten kaupallisia ja varsin tehokkaasti optimoitu juuri siihen DSP prossuun. Voipi olla että firmat eivät ole ottaneet riskiä siirtyä C:stä C++:aan sen takia, että reaaliaika laskenta vaatimukset tunnetaan nykykoodista ja C++ on kuin musta verho systeemisuunittelijoille. Vaikkakin siitä voisi olla hyötyä ylläpidossa ja uudelleenkäytettävyyden ansiosta. Nykyisten yksittäisten DSP verkkokomponenttien koodi koko on kuitenkin kymmenien megatavujen luokkaa, ja joka ei muuta tee kuin murskaa numeroita niin hätäseen kun mahdollista. Niin voisi olla tavallaan perusteltua mallintaa koko DSP arkkitehtuuri uudelleen olioajattelulla. Mielnkiintoista olisi nähdä / kuulla mielipiteitä asiasta.
|
|
| Ylös |
|
 |
Paikallaolijat |
Käyttäjiä lukemassa tätä aluetta: Ei rekisteröityneitä käyttäjiä ja 2 vierailijaa |
|
Et voi kirjoittaa uusia viestejä Et voi vastata viestiketjuihin Et voi muokata omia viestejäsi Et voi poistaa omia viestejäsi
|
|
|