Ohjelmointiputka aloitti toimintansa vuonna 2002, ja moni asia on muuttunut niistä päivistä.
Olemme miettineet Laurin kanssa sivuston tulevaisuutta ja toivoisimme myös teiltä käyttäjiltä kommentteja, mihin suuntaan haluaisitte sivuston kehittyvän.
Ohjelmointiputka aloitti ohjelmoinnin harrastajien sivustona, ja tämä vaikuttaa hyvältä linjalta edelleen. Netissä on paljon materiaalia englanniksi, mutta on tärkeää, että tietoa on saatavilla myös suomeksi.
Sivuston ulkoasu on saamassa päivityksen, ja uusia oppaita on suunnitteilla. Kilpailut ovat keränneet mukavasti osallistujia, ja niitä on luvassa tulevaisuudessakin.
Millaista sisältöä sinä haluaisit Ohjelmointiputkaan?
"toivoisimme myös teiltä käyttäjiltä kommentteja, mihin suuntaan haluaisitte sivuston kehittyvän."
Nykyään keskustelu voi olla vain yhden otsikon alla, kuten tämä on Ohjelmointiputkan alla. Mutta entäs jos joku keksii kysymyksen, joka sopii usean otsikon alle? Tällainen monen otsikon alla oleva tagisysteemi on toteutettu vaikkapa Stack Overflowssa Tai en tiedä onko se jo toteutettu.
"Millaista sisältöä sinä haluaisit Ohjelmointiputkaan?"
Hankala sanoa, kun melkein kaikkiin ongelmiin löytyy netistä englanniksi jotain, tai jos ei löydy, niin ei usein löydy suomeksikaan, ellei ole jotenkin Suomeen liittyvästä asiasta kyse. Ainakin avoimessa yliopistossa oli monipuolisempi systeemi kun nettisivulle sai taltioitua videota. Mutta en usko, että monikaan jaksaa vääntää opetusvideoita tänne.
Itselläkin, kuten varmasti monella muulla, Stack Overflow/Exchange yms. ovat kyllä syrjäyttäneet melkein kokonaan Ohjelmointiputkan paikan omassa elämässäni. Lisäksi olen tuosta tagisysteemistä samaa mieltä Jaskan kanssa.
Olisiko mahdollisesti aika taas modernisoida sivuston käyttöliittymää? Esimerkiksi niinkin yksinkertainen asia, kuin maksimileveys (~50% monitorin leveydestä) sivuston pääosiolle/keskipalstalle voisi olla hyvä. Tietyllä tapaa hieman rasittavaa lukea todella laajalle levittyvää sisältöä. Jotkut toki ehkä tykkää, voisi olla vaikka valinnaisena asetuksenakin.
Kilpailut ovat aina olleet kiinnostavia Putkassa. Eli vaikka keskustelu hiljeneekin, on Putkalla mielestäni silti oma vakaa käyttäjäkunta.
Resiina kirjoitti:
Olisiko mahdollisesti aika taas modernisoida sivuston käyttöliittymää?
Laitoin nyt kokeeksi hieman suuremman fontin ja palstalle maksimileveyden. Ulkoasun voisi jossain vaiheessa uudistaa kokonaan, ja hyvällä tuurilla siitä voisi pitää jopa kilpailun. Nykyinen ulkoasu perustuu vuoden 2007 designiin.
Jaska kirjoitti:
Mutta entäs jos joku keksii kysymyksen, joka sopii usean otsikon alle?
Nykyisistä alueista pitäisi olla yleensä helppo valita: Ongelma joko liittyy nettisivuihin tai selainympäristöön tai sitten ei liity. (Äskettäin tehdyn uudistuksen myötä alueet eri ohjelmointikielille on poistettu ja kielet voi valita listasta viestiä lähettäessä.) Projektit, Työtarjoukset ja Ohjelmointiputka ovat myös melko yksiselitteisiä alueita. Jos mikään ei täsmää, on vielä Yleinen keskustelu.
Mietin sivustolle myös erillistä koodialuetta, johon siis voisi lähettää näytille ja kommentoitavaksi koodinpätkiä, jotka eivät kuulu muille alueille mutta jotka vain tekee mieli saada julkaistua. Tarkoitus olisi madaltaa aloittelijan kynnystä esitellä tekeleitään ja tarjota järkevä paikka tähän. Miltä tämä kuulostaa?
Viime vuoden aikana nettisivuista ja muusta ohjelmoinnista on tullut kummastakin noin 6 keskustelua kuukaudessa. Tämä on niin pieni määrä, että tarkempi jaottelu tuntuu hullulta: kapeaan aihepiiriin liittyvä kysymys tulee ehkä kerran kuussa tai kerran vuodessa. Mielestäni tagijärjestelmä ei siksi sovellu näin pienen sivuston keskustelun jakamiseen. Tilanne on täysin erilainen jossain StackOverflow'ssa, johon tulee varmaan satoja keskusteluja päivässä.
Minkälaisia tageja Ohjelmointiputkassa mielestäsi kannattaisi sitten olla? Ohjelmointiputkassa on vanhastaan tagijärjestelmä, jota käytetään koodivinkeissä, mutta monet tagit ovat melko teennäisiä. Näihin saa mielellään tarjota parannuksia. Pelkästään omasta päästä keksimisen lisäksi olisi hyvä selailla läpi keskusteluja ja vinkkejä ja katsoa, miten ideoidut aihepiirit sopivat käytännössä.
Lebe80 kirjoitti:
Kilpailut ovat aina olleet kiinnostavia Putkassa. Eli vaikka keskustelu hiljeneekin, on Putkalla mielestäni silti oma vakaa käyttäjäkunta.
Juuri näin! Minulle parhaita ovat edelleen SL-haaste ja Putkaposti, molemmissa riittää ratkottavaa ja omien suoritusten parantelua, mutta olenkin aloittanut vasta vajaat kaksi vuotta sitten.
Kauemmin mukana olleet ovat varmaan ratkoneet näistä tehtävistä kaikki kiinnostavat. Voisiko SL-haasteeseen ja Putkapostiin lisätä vielä uusia ratkottavia tehtäviä?
Matti Holopainen kirjoitti:
Kauemmin mukana olleet ovat varmaan ratkoneet näistä tehtävistä kaikki kiinnostavat.
Jotkut ovat ratkoneet jo niiden kaikki tehtävät.
Mielestäni Putkassa olisi hyvä olla hyvä Assembly -opas.
Metabolix kirjoitti:
Resiina kirjoitti:
Olisiko mahdollisesti aika taas modernisoida sivuston käyttöliittymää?
Laitoin nyt kokeeksi hieman suuremman fontin ja palstalle maksimileveyden. Ulkoasun voisi jossain vaiheessa uudistaa kokonaan, ja hyvällä tuurilla siitä voisi pitää jopa kilpailun. Nykyinen ulkoasu perustuu vuoden 2007 designiin.
Kiitos erittäin nopeasta toiminnasta! Samantien tuli jotenkin modernimpi viba sivustoon, ja mukavempaa lukea hieman kompaktimpaa tekstiä.
Kilpailu uuden ulkoasun suunnittelusta kuulostaa kyllä hyvältä idealta myös.
Koodi123 kirjoitti:
Mielestäni Putkassa olisi hyvä olla hyvä Assembly -opas.
Itseänikin voisi hyvin paljon kiinnostaa Assembly-opas. Tottahan noitakin on netti pullollaan englanniksi, mutta kivempaahan se aina on suomeksi lukea. Tämän oppaan avulla voisi muun muassa varmaan paremmin oppia lukemaan binäärejä disassembly-työkaluilla.
Jonkunlaista opasta C#:iin?
Ilmeisesti ei enää voi hakea linkkiä suoraan oppaiden otsikoihin? Tähän tapaan:
https://www.ohjelmointiputka.net/oppaat/opas.php?tunnus=php_18#Virheilmoitukset
Itellä ainakin on tarvetta tuolle.
dartvaneri kirjoitti:
Ilmeisesti ei enää voi hakea linkkiä suoraan oppaiden otsikoihin?
Nyt on taas linkkejä. Antin mielestä on ongelma, että osassa oppaista on huonot väliotsikot, mutta minusta on parempi, että linkkejä on silti olemassa.
Loin nyt Koodit näytille -keskustelualueen, johon voi lähetellä kaikenlaisia epämääräisiä koodeja, jotka vain tekee mieli julkaista jossain katsottavaksi ja kommentoitavaksi. Alue ei aloita täysin nollasta, koska siirrän hiljakseen alueelle vanhoja koodivinkkejä. (Aikanaan koodivinkkeihin otettiin kaikkia ”hei tein hassun koodin” -tasoisia viritelmiä.)
Edellisen lisäksi olisi hyvä, jos putka seuraisi IT-alaa laajemmin.
LCHawk kirjoitti:
Edellisen lisäksi olisi hyvä, jos putka seuraisi IT-alaa laajemmin.
Miten tämä näkyisi Putkassa? Putkahan on pitkälti vain joukko rekisteröityneitä käyttäjiä, joten voisitko sinä jotenkin auttaa tässä asiassa?
Esim. keskustelun avauksia alaa polttavista aiheista? Uutisten linkitys?
Stack Overflow on toteutettu jollain muistaakseni Open Source Q&A -softalla. Mutta olen testannut itse ks. softaa ja sen ongelma oletuksena on se, että siinne tulee miljoonittain spämmiä jos siihen ei asenna kunnollista spämmin estosysteemiä, joka tekee sitten tulevan spämmimäärän takia koko roskan käyttökelvottomaksi.
Stack Overflowssa on myöskin se, että tunnarit bännätään heti jos ylläpito huomaa, että tekee liikaa ja joka kerta kirjoitusvirheitä, liian epäselviä kysymyksiä, tai ei tee enssin kotiläksyjään eli etsi onko jo ongelmaan esitetty kysymys jossa on myös ratkaisu ongelmaan valmiiksi. Ja bänniä ei saa helposti pois.
walkout_ kirjoitti:
Stack Overflow on toteutettu jollain muistaakseni Open Source Q&A -softalla. Mutta olen testannut itse ks. softaa
Käsittääkseni Stackoverflow ei ole open source, joten tuskin myöskään olet ks. softaa testannut.
Tuolta löytyy tieto mitä komponentteja Stackoverflown rakentamisessa on käytetty:
https://stackoverflow.blog/2008/09/21/what-was-stack-overflow-built-with/
Ehdotus!
Meillä oli eräällä gamedev foorumilla käytössä eräänlainen reputaatiosysteemi. Viestejä pystyi "upvoteamaan/downvoteamaan". Sitten käyttäjän profiilissa näkyi reputaation määrä.
Vastaavia systeemeitä on ymmärtääkseni useallakin foorumilla käytössä erilaisin variaatioin. Oma näkemys olisi se, että tällainen systeemi lisäisi asiallisten vastausten antamista vasta-alkajien kysymyksiin. Vaikka varsinaisesti reputaatiosta ei ole mitään hyötyä, niin silti, ainakin gamedev foorumillamme, käyttäjät alitajuisesti haluavat kerätä suuremman reputaation.
Mielipiteitä tästä, voisiko jonkinlainen variaatio tästä olla toimiva ohjelmointiputkassa?
morderca kirjoitti:
Mielipiteitä tästä, voisiko jonkinlainen variaatio tästä olla toimiva ohjelmointiputkassa?
Se voi olla ihan hyvä idea.
Internetpisteet ovat mielestäni huono idea, toivottavasti eivät pilaa Ohjelmointiputkaa.
Perustelut mielipiteelleni löytynevät helposti Internetistä.
C# opas?
C# opas?
No ainakin se erään rekryfirman työpaikkojen spämmäys on käsittääkseni saatu loppumaan. Esim. Pingstate.nu lopettetiin kokonaan ja yhtenä syynä oli just käyttäjien spämmäys jonka moderointiin ei ylläpitäjillä ollut aikaa.
Ohjelmointiputka on ehkä syy sille, että olen alkanut käyttämään Linuxia. Täällä neuvottiin käyttämään gcc:tä ja kääntämään ohjelmia MiniGW:lla. Siitä oli lyhyt matka hypätä kokonaan Linuxiin... Laurin neuvoista on ollut hyötyä.
Keskitytään Putkan perusasiaan. Microsoft QuickBASIC 4.5 on nyt täyttänyt jo 30 vuotta. Tuskin kukaan enää käyttää sitä. Se on kyllä jonkinlainen ongelma...
Kun Putka aloitti, QB oli jo lähes 15 vuotta vanha ympäristö. Se oli vähän hullua, että moni, joilla oli jo osaamista C-kielestä, kirjoitti täällä BASIC-vinkkejä. Toki sivuston "sisäpiiri" taisi olla nuori, itse olin pikkuisen vanhempi.
Olihan QB kehittynyt Commodore BASICIN ajoista (sekin oli Microsoftin luomus), mutta se oli silti monella samalla tavalla rajoittunut. Se oli tarkoitettu alkeiden opetteluun, tai siitä ei enää ollut muuhun, koska tekniikka kehittyi niin nopeasti. Vielä 2002 saatoin keksiä omille ohjelmille jotain hyödyllistä käyttöä, mutta nyt maailmassa on jo niin paljon tekniikkaa, että kaikki pikku koodit tuntuvat hukkuvan.
Sama riittämättömyys tuntuu vaivaavan muutakin ohjelmointia. Tietenkään edes C++ ei riitä loputtomiin, jos ei ole frameworkkeja, versionhallintaa, dokumentaatiota ja harrasta muunlaista verkostoitumista, josta sitten muodostuu loputon suo. Joka tasolla voidaan kyseenalaistaa, eikä mikään lopulta riitä.
QuickBASIC:n tiettyjä etuja on kuitenkin vaikea kyseenalaistaa. Sillä voitiin piirtää näytölle ympyrä, ilman, että tarvittiin monenlaisia palikoita ja oltaisin analysoitu ongelmaa loputtomiin. Siitä olisi löytynyt ytyä vaikka lukiotason matematiikkaan, vaikka joku Fourier’n muunnos tai syväoppiminen olikin saavuttamattomssa. QB:n ohje sisälsi jopa eräänlaisen hypertekstiselaimen ja kaikki oli jotenkin nerokkaasti linkitetty yhtenäiseen kokonaisuuteen.
Entiset tietotekniset "perusasiat", esimerkiksi pienet pelit, tuntuvat olevan nykyään poissa keskuudestamme. Olen vähän epävarma, voiko edes peruskouluun ohjelmointiopetus palautta sellaista ohjelmointikulttuuria.
Olen samaa mieltä, että QB oli hieno systeemi ohjelmoinnin oppijalle. Ympyrän piirtäminen on hyvä esimerkki, sehän sujuu QB:ssä näin:
SCREEN 13 CIRCLE (100, 100), 50
Nykyään ei ole mitään aloittelijan ympäristöä, joka olisi QB:n veroinen. Siinä mielessä kehitys on kulkenut huonoon suuntaan.
Tässä vuosien kuluessa olen itsekin varttunut jonnesta setämieheksi, ja moni on kokenut saman kohtalon, mikä toki vaikuttaa sivuston toimintaan. Ei kannata kuitenkaan haikailla mennyttä vaan viedä eteenpäin Putkan tarinaa, joka toivottavasti on vielä pitkä.
Tehtävistä:
Mietin sivustolle uutta tehtävämallia ohjelmoinnin harjoitteluun. Nämä tehtävät voisi tehdä millä tahansa kielellä. Tehtävän syötteenä olisi yksi luku. Myös tehtävän vastaus olisi yksi luku, jolloin tarkastaminen olisi selvää. Aivan alkeiden jälkeen toteutettaisiin yhteinen satunnaislukugeneraattori, jolla voitaisiin sitten generoida yhden luvun perusteella laajempia syötteitä kuten vaikka labyrintteja reitinhakuun. Tehtäviin tulisi tällä tavalla mekaanista ohjelmointia tarkkojen ohjeiden mukaan (syötteen generointi) ja sen jälkeen omatoimista ongelmanratkaisua. Tehtävät voisivat alkaa klassisista perustehtävistä (luvun suuruuden tarkastus, parillisuuden tarkastus, lottokone) ja edetä melkein mihin tahansa. Kuitenkin tehtäviin pitäisi olla tehokas ratkaisu palvelimella tarkastusta varten (jotta ei oltaisi täysin valmiiden tapausten varassa kuten PHP-haasteessa), joten algoritmiohjelmoinnin suurimpia haasteita ei tähän tehtäväsarjaan tulisi.
Mitä ajatuksia tällaisesta tehtävämallista herää?
Oppaista:
Useimmissa yleisesti käytetyissä kielissä on paljon samaa (if, for, while, tietotyypit, funktiot). Keksin tästä, että kielen perusoppaan kirjoittamista voisi helpottaa: Nyt on joka kielelle erillinen opassarja, ja näissä käydään samantapaisia asioita läpi eri tavoilla. Toinen vaihtoehto olisi tehdä jokaisesta rakenteesta erillinen lyhyt opas malliksi ja ”kääntää” yhteiset asiat eri kielille: esimerkiksi if-lauseesta olisi yksi hyvä opas, jonka voisi mahdollisimman pienin muutoksin kääntää eri kielille, ja vain selvästi erikoisista piirteistä tarvitsisi kirjoittaa ihan alusta asti omia oppaita.
Tuosta ympyrän piirtämisestä tuli mieleen Lisp-variantti Racket, jota ilmeisesti käytetään ainakin joissakin kouluissa ohjelmoinnin opetteluun. Tämmöinen tuli vastaan joskus, kun selailin aiheeseen liittyviä sivuja: https://racket.koodiaapinen.fi/tehtavat/
Aika helposti tuollakin näyttäisi sujuvan perusgeometriat. Harjoituksina on esimerkiksi Japanin ja Suomen lippua. QuickBasiciin en osaa verrata, koska ei ole tarpeeksi kokemusta (oikeastaan kummastakaan kielestä).
Tegu kirjoitti:
Tuosta ympyrän piirtämisestä tuli mieleen Lisp-variantti Racket, jota ilmeisesti käytetään ainakin joissakin kouluissa ohjelmoinnin opetteluun.
Tällaisia opetusympäristöjä tosiaan on, mutta nämä eivät ole todellisia yleisessä käytössä olevia kieliä. Tämän vuoksi ne eivät mielestäni sovellu hyvin ohjelmoinnin opettamiseen.
Aihe on jo aika vanha, joten et voi enää vastata siihen.