» »

kaj je to sploh programiranj?

kaj je to sploh programiranj?

1
2
»

BlueRunner ::

Ne rabim linka... čisto slučajno imam v glavi izpeljavo pravilnosti. Se pa vsekakor zabavam ob tvojem ubesedenem preziru do matematike, čeprav jo sam s pridom uporabljaš. Samo ne potem drugim reklamirati kako naj (ne) delajo, če sam delaš drugače, kot pa govoriš.

jype ::

Thomas> Povej kje si boljši od programa in kje se mu zatakne?

Praktično v vsem. Zatakne se mu že pri iskanju najboljšega algoritma, poleg tega program ni znal sam izdelati matematičnega modela iz parametrov posameznih figur, kar pomeni da brez "umetnika" program sploh ne deluje. Le hitrost iskanja povezav je večja, kot jo zmorem sam, a orodje za takšno iskanje sam napišem prej, kot to zmore ta program.

Thomas> Za "abonma izven" je pa vedno manj kart.

To ni res, a da lahko to razumeš, moraš razumeti matematiko. Nekaterih problemov se ne da paralelizirati, lahko pa namesto njih rešimo druge probleme. Poiskati rešljivih problemov, ki so analogni, ne pa nujno tudi ekvivalentni originalnemu, stroji še dolgo ne bodo znali.

Thomas ::

Zgleda, da sva se narobe razumela, BladeRunner.

Jaz matematiko visoko cenim. Vendar ne per se.

Jaz visoko cenim žitne pridelke v Iowi in švicarske ure kukavice.

Vendar spet ne per se. Pač pa relativno na človeka, ki to uporabi.

Če so švicarske ure kukavice nadomeščene z GSM aparatom, ali pa je nek matematični izrek izgubil ves pomen ... so be it! Se lepo zahvalimo obema za dosedanje zvesto služenje in gremo naprej.

Samo eno je "sveto" - zavest. Ostalo je entirely disposable.
Man muss immer generalisieren - Carl Jacobi

Thomas ::

> a orodje za takšno iskanje sam napišem prej, kot to zmore ta program.

Če ti tako praviš ... je (vseeno) rubbish.
Man muss immer generalisieren - Carl Jacobi

jype ::

Thomas> Če ti tako praviš ... je (vseeno) rubbish.

Dokaz za to pa je prepuščen bralcu za vajo. How convenient.

Ko boš razumel, da so stroji le toliko turing-complete, kot je njihov pomnilnik neskončen, boš razumel tudi to, da so človeški možgani še vedno daleč pred današnjimi stroji. Če velja Moorov zakon, bo tako ostalo še vsaj nekaj desetletij.

Že samo modeliranje (ki tvojemu programu ne dela težav, ker se z njim _sploh ne ukvarja_) presega sposobnosti neumetnika, kaj šele stroja, ki ga ponujaš v dokaz.

Veš kaj me zelo zanima: koliko časa potrebuje tvoj evolucijski stroj, če ga poženeš samega nad seboj, da izdela rešitev, ki je ekvivalentna GCCjevemu optimizerju (ki je v svoji osnovi eden počasnejših, a v zameno za to povsem portabilnih zmanjševalcev grafov)?

Pa še ena zanimiva posledica tvojih insinuacij: lahko torej sistem intelektualne lastnine ukinemo, ker lahko nek stroj do vsega v tem sistemu pride neodvisno v nekem končnem času in to torej ne more biti intelektualna lastnina, temveč je vsak izum zase zgolj izrodek entropije?

Thomas ::

> boš razumel tudi to, da so človeški možgani še vedno daleč pred današnjimi stroji

A res? A tudi naprimer pri množenju 10000 mestnih števil, al kaj?

Po tvoji (zgrešeni) logiki že.

V resnici, so pri nekaterih nalogah stroji že močno spredaj, pa vsak dan več je takih nalog.

Kar pa ti trabunjaš jype ... je pa ena sama zmeda. Sorry.

> Kako lohka sploh še kdo resno jemle Thomasa

Meni verjemi, da mnogo več ljudi reno mene, kot naprimer tebe, ki še nisi povedal ene zanimive in relevatne reči. Pa tudi težko, da jo boš.
Man muss immer generalisieren - Carl Jacobi

jype ::

Thomas> mestnih

Ne.

jype ::

(pozabil si do konca prebrat vrstico, v kateri piše "Če velja Moorov zakon, bo tako ostalo še vsaj nekaj desetletij.")

Zgodovina sprememb…

  • spremenilo: jype ()

Thomas ::

> (pozabil si do konca prebrat vrstico, v kateri piše "Če velja Moorov zakon, bo tako ostalo še vsaj nekaj desetletij.")

> boš razumel tudi to, da so človeški možgani še vedno daleč pred današnjimi stroji. Če velja Moorov zakon, bo tako ostalo še vsaj nekaj desetletij.

> Thomas> mestnih

> Ne.


Kaj sem pozabil prebrat?

Priznaš zdej, da v nekaterih nalogah so stroji pač že boljši?

Zmedene so tvoje misli.
Man muss immer generalisieren - Carl Jacobi

kopernik ::

Sicer ne vem, v kakšnih podjetjih delate, ampak obrtniški pristop enostavno ne dohaja zahtev. Stranke želijo od programov vedno več in to bi radi imeli v vedno krajšem času.

Kar pomeni, da mora imeti podjetje ali same izjemne posameznike ali pa čimveć postopkov avtomatiziranih. Verjetnost prvega je majhna, saj so izjemni posamezniki redki in zelo dragi.

Ta problem bo v prihodnjih letih vse večji, podobno kot je bil problem premajhne produktivnosti obrtnikov v srednjem veku in se je tovarne avtomatiziralo, da so lahko zaposlovale navadne, povprečne delavce.

Torej, ali je človek, ki načrtuje proizvodnjo in poda vse postopke za njeno realizacijo, umetnik ? Jaz pravim, da ne, vsekakor pa je n-krat bolj učinkovit kot povprečnež.

jype ::

Thomas> Priznaš zdej, da v nekaterih nalogah so stroji pač že boljši?

Ne razumeš.

Usmeri me na mojo izjavo, ki trdi drugače.

V množenju miljardo-mestnih števil sem od današnjih računalnikov boljši celo jaz:

računalnik:
>>> 10**1000000000 * 10**1000000000
Out of Memory

jaz:
10**1000000000 * 10**1000000000
10**1000000000000000000

QED.

kopernik ::

Za take račune potrebuješ programe, ki znajo simbolično računati.

Ti npr. veš, da ima tista cifra ogromno ničel, vendar si je ne moreš predstaviti v svojem spominu - tako kot si je ne more računalnik.

jype ::

kopernik> Sicer ne vem, v kakšnih podjetjih delate, ampak obrtniški pristop enostavno ne dohaja zahtev. Stranke želijo od programov vedno več in to bi radi imeli v vedno krajšem času.

Zato pa potrebuješ človeka (jaz mu rečem umetnik), ki zna računalnik programirati tako, da lahko _stranka_ pove računalniku, kaj od njega želi, v jeziku, ki je razumljiv _stranki_.

Takšnega programiranja računalnik ne le da ne zna avtomatizirat, sploh ga ni sposoben.

Dober programer je seveda tej nalogi kos: samo poglej si razvoj programskih jezikov zadnjih 30 let.

Thomas ::

> QED.

Tale tvoj "QED" ni vreden piškavega oreha. Boljš da si tiho, skupaj z onima dvema intelektulnima proletarcema in se raje zamisliš nad tem, kar je povedal kopernik, če se že z mano ne moreš strinjat.
Man muss immer generalisieren - Carl Jacobi

jype ::

kopernik> Za take račune potrebuješ programe, ki znajo simbolično računati.
kopernik> Ti npr. veš, da ima tista cifra ogromno ničel, vendar si je ne moreš predstaviti v svojem spominu - tako kot si je ne more računalnik.

Točno tako. In zakaj moj računalnik tega ni znal zračunat? Ker ni sposoben, dokler mu nekdo ne razloži, kako deluje simbolno računanje. Ni vprašanje, a lahko to računalnik počne, vprašanje je, koliko časa računalnik potrebuje, da sam pride do tega.

Thomas, poženi criticall nad programom, ki sešteva velika števila in poročaj, ko bo program znal simbolno računat.

BTW, stavim, da bom sam takšen program napisal prej.

kopernik ::

Dober programer je kos omejeni količini zastavljenih nalog. Ta količina je lahko zelo velika v primerjavi s povprečnim programerjem, ampak to ni dovolj.

Še podjetja tipa Microsoft, IBM in Oracle imajo hude težave z dohajanjem zahtev, pa bi težko rekli da nimajo zaposlenih (tudi) izjemnih posameznikov.

Že omenjena knjiga, Software Factories izhaja prav izpod prstov izjemnih posameznikov na Microsoftu.

Thomas ::

Premagal boš (baje) nek program, kjer in kakor boš ti določil, jype?

Ne bo tako. Vsak dan manj je stvari, kjer si ti še boljši. Tako je postavljena scena.
Man muss immer generalisieren - Carl Jacobi

jype ::

Thomas> Ne bo tako. Vsak dan manj je stvari, kjer si ti še boljši. Tako je postavljena scena.

Tega se zavedam in celo veselim. A po drugi strani se zavedam (ne pa tudi veselim) dejstva, da nekaterih problemov računalnik nikoli ne bo rešil bolje, hitreje ali natančneje kot jaz.

kopernik ::

Točno tako. In zakaj moj računalnik tega ni znal zračunat? Ker ni sposoben, dokler mu nekdo ne razloži, kako deluje simbolno računanje.


No, in kje je potem tukaj umetnost ? Računalniku je potrebno razložiti marsikaj, tudi golo seštevanje. Ali je seštevati umetnost ?

jype ::

kopernik> Dober programer je kos omejeni količini zastavljenih nalog. Ta količina je lahko zelo velika v primerjavi s povprečnim programerjem, ampak to ni dovolj.

Zakaj ni dovolj?

Če bi se dobre programerje namesto ubadanja s strankinimi težavami alociralo k ubadanju s težavami vseh strank hkrati, bi njegovi možgani njegovo delo bistveno bolje optimizirali, kot so to sposobni računalniki (in tako bo ostalo še desetletja). Microsoft ni kapitaliziral na ideji, da bi se prilagajal vsaki stranki posebej, ampak se je prilagajal vsem strankam hkrati. Kompromis je bil zanje odličen, za vse ostale pa očitno dovolj dober, da izdelke uporabljajo.

Popolnoma enaka je zgodba ostalih velikih projektov.

Če potrebuješ več dobrih programerjev, tough. Še dolgo časa ne bo stroja, ki bi jih bil sposoben nadomestiti.

kopernik> Še podjetja tipa Microsoft, IBM in Oracle imajo hude težave z dohajanjem zahtev, pa bi težko rekli da nimajo zaposlenih (tudi) izjemnih posameznikov.

Vsekakor, a to je problem managementa, ne programerjev. Management vsekakor lahko nadomestiš z današnjimi računalniki, programerjev pa pač ne.

jype ::

kopernik> No, in kje je potem tukaj umetnost ? Računalniku je potrebno razložiti marsikaj, tudi golo seštevanje. Ali je seštevati umetnost ?

Ni je. Umetnost je bila, ko je nekdo pogruntal simbolno računanje in ugotovil, da deluje. Zanj je bil to izjemen dosežek.

Ko se bo računalnik sposoben samooptimizirat tako, da bo npr. iz konkretnega računanja preskočil v simbolno (ne da bi ga tako sprogramiral človek), programerjev ne bomo več potrebovali. Potem je le še majhen korak do tam, ko tudi umetnikov ne bo več treba.

Največ umetnosti programiranja bi jaz pripisal Knuthu. Njegove knjige sem bral kot poezijo, ker so mi bile všeč. Ker sem v svojem stroju podoživljal njegovo izvajanje, ki je privedlo do algoritmov, ki jih računalniki v splošnem še danes niso sposobni preseči.

Kljub temu, da Thomas na vsak način hoče dopovedat forumu, da se imamo "umetniki" za nekaj več, v resnici pa le mešamo meglo in kljub temu, da poskuša razložiti, da vsi po vrsti sovražimo tehnologijo, se veselim dneva, ko bo računalnik znal izpeljat algoritem in matematičen dokaz njegove pravilnosti, ki bo učinkovitejši od algoritmov, ki izhajajo iz matematične analize, recimo. To bo čas, ko bomo "umetniki" lahko začeli reševati bistveno bolj splošne probleme in bomo pustili računalnike, da se s specifičnimi ubadajo sami.

kopernik ::

Če potrebuješ več dobrih programerjev, tough. Še dolgo časa ne bo stroja, ki bi jih bil sposoben nadomestiti.


Saj to JE problem. Mislim, da smo že prešli točko, ko bi lahko z izjemnimi (in vsemi ostalimi) programerji zadostili programja lačnemu trgu. Jaz tukaj vidim povsem jasno paralelo z drugimi industrijami, ki so se morale prilagoditi, da so lahko zadostile potrebam.

Prav zato je tudi pri programiranju vse več avtomatizma, frameworki, code generation orodja, pametni IDE-ji, itd. Mogoče se to ne tako opazi, ampak korake proti avtomatizmu se dela že vrsto let, tudi v računalništvu.

Ti pa govoriš, kolikor te razumem, o želji, da bi računalniki razmišljali oz. izumljali algoritme. Še več, želiš, da bi razumeli želje stranke in sami proizvedli rezultat. No, to je zelo težko, še za človeka. Tudi v avtomobilizmu je nekje v ozadju človek, ki razvija prototipe, itn. Ampak, v proizvodnji so večinoma roboti. Obrtništvo je passe.

Zgodovina sprememb…

  • spremenil: kopernik ()

jype ::

Točno zato sam programiram v Pythonu. Ne ubadam se z rečmi, s katerimi se mi ni treba, ker za to poskrbi računalnik. Računalnik lahko sam izračuna 90% mojih misli, Python pa mi omogoča ekspresivno izražanje, ki računalniku ponudi vse vhodne podatke, ki jih potrebuje. Ampak analitično razmišljanje (the art of programming) počnem jaz, ne računalnik.

Če kdo misli, da je umetnost programiranja v jajcanju s pointerji in optimizaciji kode, ki je nima smisla optimizirat, je pa pač slab programer.

BlueRunner ::

No, jaz bom raje rekel malo drugače: "umetniki" (ali pa proletarci, kot je nekdo rekel), ki pišemo knjige, smo s svojim delom, ki nas mimogrede še razveseljuje, neprimerno bolje preskrbljeni od tistih, ki po naših knjigah delajo, ali pa še čakajo, da bo napisana knjiga vseh knjig.

V svetu, kjer je bilo izračunano vse, kar se izračunati da, v svetu, kjer so neorganske forme postale sposobne intelektualnega udejstvovanja, v svetu, kjer je bilo izumljeno vse, kar se izumiti da, v takšnem svetu bi bil jaz in moja sorta verjetno res nepotrebni ostanki preteklosti. Ampak verjeli, ali pa ne, v tem trenutku se z problemom svojega obstoja v takšnem svetu sploh ne ukvarjam. Če malo pomislim, me takšen razplet dogodkov niti ne skrbi preveč, saj je večja verjetnost, da bom eden izmed miljonov stvariteljev tega sveta, kot pa ena izmed njegovih žrtev.

Roadkill ::

Zabavno. Vsi jamrate, da se Thomas previsoko nosi, zraven je pa tako zelo očitno, da je jype tako prepričan, da je on tako dober programer, da ga računalniki še desetletja ne bodo ujeli.

Kako desetletje nazaj so bili enako samozavestni šahisti. :)

Pa je potem pred 10 leti nekdo raje rekel, da za igranje šaha NE potrebuješ inteligence, kot pa da bi priznal, da je računalnik lahko inteligenten.

Enako bo naredil jype, ko bo računalnik postal boljši programer kot on. :)
Ü

jype ::

Roadkill> Enako bo naredil jype, ko bo računalnik postal boljši programer kot on. :)

Če bi ti prebral, kar sem napisal, bi videl, da sem napisal tudi "se veselim dneva, ko bo računalnik znal izpeljat algoritem in matematičen dokaz njegove pravilnosti, ki bo učinkovitejši od algoritmov, ki izhajajo iz matematične analize, recimo.".

Pa nisi, ker sodiš med Thomase, ki površno berejo in površno razmišljajo.

Roadkill ::

Sem prebral vse, je pa res, da sem tebe rahlo karikiral zato, da sem te lahko uporabil v svojem postu.
Konkretno nimam nič proti tebi in se opravičujem, če sem te s tem užalil.
Bolj zanimivo je bilo uporabit tvoj nick, kot v tisti stavek napisat "nekdo".

Si pa napisal tudi:
>>A po drugi strani se zavedam (ne pa tudi veselim) dejstva, da nekaterih problemov računalnik nikoli ne bo rešil bolje, hitreje ali natančneje kot jaz.

Jaz sem pa hotel tudi poudarit, da je bila beseda "nikoli" že prevečkrat preostra, kar se tiče napovedovanja razvoja tehnologije.

Ideja: Odprimo en topic, kjer lahko kdorkoli napiše vse stvari, ki jih po njegovo računalnik NIKOLI ne bo zmožen početi, ljudje jih pa lahko.Tak topic bi bil lahko ena zelo kul "časovna kapsula". Čez par let bi jo brali v topicu "Funny links".
Ü

gzibret ::

> Odprimo en topic, kjer lahko kdorkoli napiše vse stvari, ki jih po njegovo računalnik NIKOLI ne bo zmožen početi

Roditi in umreti!
Vse je za neki dobr!

Roadkill ::

Eno imamo že.

Če bi jaz moral kako napisat, bi verjetno napisal, da računalnik še dolgo ne bo zmogel odpreti topica o tem, česa vse računalniki ne morejo narediti. ;)
Ü

Zgodovina sprememb…

  • spremenil: Roadkill ()

gzibret ::

Računalnik nikoli ne bo zmogel poljubno dolgo simulirati stanj, kjer se število operacij in potrebnega pomnilnika povečuje eksponentno s številom iteracij (primer: problem potujočega prodajalca - travelling salesman problem).
Vse je za neki dobr!

Zgodovina sprememb…

  • spremenilo: gzibret ()

gzibret ::

Še eden: nikoli ne bo mogel pogruntati geometrijske rešitve problema, kako danemu krogu skonstruirati kvadrat s popolnoma enako ploščino.
Vse je za neki dobr!

Thomas ::

> Računalnik nikoli ne bo zmogel poljubno dolgo simulirati stanj, kjer se število operacij in potrebnega pomnilnika povečuje eksponentno s številom iteracij (primer: problem potujočega prodajalca - travelling salesman problem).

Pa noben človek tudi ne.

> nikoli ne bo mogel pogruntati geometrijske rešitve problema, kako danemu krogu skonstruirati kvadrat s popolnoma enako ploščino.

Pa noben človek tudi ne.


Zanimivo bi bilo dati kak primer, ko človek zmore, računalnik pa ne.
Man muss immer generalisieren - Carl Jacobi

jype ::

Pri nikoli se seveda omejujemo na binarne in kvantne računalnike. Morda bomo nekoč zgradili stroj, ki _je_ stroj za prepoznavanje vzorcev. Tak stroj bo vsekakor znal marsikaj.

Za začetek lahko rečemo, da je tak razvoj še zelo daleč in da bo tak stroj, ko ga bomo zgradili, lahko operiral z več kot diskretno podanim številom podatkov hkrati (kar je po moje bistven preskok, brez katerega računalniki ne bodo zmogli analize, kot jo zmorejo človeški in morda še kaki drugi možgani).

Thomas ::

Kaj si načvekal, jype? Lahko prevedeš?
Man muss immer generalisieren - Carl Jacobi

jype ::

Zate ne. Neumetniki niso relevantni, ker bomo čez 10 let itak že vsi uploadani.

Thomas ::

Jah ne vem če "žal". Itak je to spet en crap, ki ga po definiciji ni možno prevesti v kaj jasnega.

Vprašanje je bilo jasno postavljeno. Kaj je tisto, kar človek zmore, računalniki pa ne morejo zaradi same njihove narave (ali zaradi kakšnega drugega razloga).

Če za nič takega ne veš ... potem si že predal diskusijo.
Man muss immer generalisieren - Carl Jacobi

Gundolf ::

> Odprimo en topic, kjer lahko kdorkoli napiše vse stvari, ki jih po njegovo računalnik NIKOLI ne bo zmožen početi
Točno tako, odprite novo temo in nehajte smetiti po tej.

Loki ::

ce povzamemo temo, racunalniki imajo brute power, medtem ko imajo cloveski mozgani moznost abstraktnega misljenja in kreativnost. pa mogoce se kaksno povezovanje stvari (kaj ti pomaga par gb podatkov, ce ne mores nic uporabnega narediti iz njih)
I left my wallet in El Segundo

]Fusion[ ::

Programiranje - igranje Boga :)
"I am not an animal! I am a human being! I... am... a man!" - John Merrick
1
2
»


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Kaj je to programerska logika? (strani: 1 2 )

Oddelek: Programiranje
529494 (6499) windigo
»

Programiranje kot umetnost (strani: 1 2 3 4 )

Oddelek: Loža
16420643 (17556) noraguta
»

Punca -> Tehnik računalništva, Vegova LJ (strani: 1 2 3 )

Oddelek: Šola
12931484 (25145) x128
»

Kaj sploh je programiranje? (strani: 1 2 )

Oddelek: Programiranje
5410374 (8375) imagodei
»

Programiranje... (strani: 1 2 )

Oddelek: Loža
635518 (4504) Roadkill

Več podobnih tem