Újabb példája annak, hogy egy kis gondolkozással és az extremitások gondos elkerülésével milyen jó dolgokat lehet elérni.
http://www.altdevblogaday.com/2012/04/26/functional-programming-in-c/
Kedvenc idézet: "We are a “Get ‘er done” sort of industry, and I do not see formal proofs of whole program “correctness” becoming a relevant goal, but being able to prove that certain classes of flaws are not present in certain parts of a codebase will still be very valuable. We could use some more science and math in our process."
John Carmackot talán nem lehet egy lépésben berakni az elefántcsonttoronyba, de nincsenek kétségeim afelől, hogy valaki ezt is meg fogja próbálni.
- 6729 megtekintés
Hozzászólások
"John Carmackot talán nem lehet egy lépésben berakni az elefántcsonttoronyba..."
Hogy mit nem lehet vele csinálni?!
Ez olyan, mint az "elszállt fölötte az idő vasfoga", vagy tényleg van ilyen az angolban?
- A hozzászóláshoz be kell jelentkezni
Nagyon filózofikus :) Megjelenése óta utálom az objektum orientált programozás című bűvszót. Már megjelenésekor kikiáltották univerzális omnipotensnek. Szerintem a feladat kell, hogy megszabja az eszközt.
Ha az "Armadillo Aerospace" elnevezésben az "Aerospace" nem csak egy hangzatos szó, akkor ez a kódolás/programozás egy másik szintje amit nálunk nem tudom hányan képviselnek, és ezeknek általában nincs idejük a neten lógni. Ide sziklakemény kód kell, nem ritka még az assembly sem. A compiler pedig ne csináljon sem többet sem kevesebbet mint amit mondok neki - az objektum orientált programozás bűvöletében a srácok el is felejtik a malloc/alloc/calloc és hogy mi van mögötte.
A C szerintem/számomra egy nagyon fejlett és univerzális assembler, közvetlenül tudok beszélgetni a processzorral és a ráaggatott perifériákkal de volt, hogy még így is meg kellett túrnom a közbülső kódot, hogy megértsem mit is okoznak a pragma -k.
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
Az OO segít abban, hogy egy más absztrakciós szinten tudjuk kezelni a problémákat. Ettől még egy OO kód nem lesz jobb/rosszabb mint egy strukturális/funkcionálisan megprogramozott,
mégis, a tapasztalatom azt mutatja, hogy sokkal szebben/olvashatóbban lehet megoldani problémákat, rövidebb idő alatt, ráadásul az eredmény általában könnyebben fejleszthető, javítható. Sokszor az alacsony szintű nyelv hiányosságai miatt jönnek be olyan problémák, amiket nyelvi szinten kellett volna már nagyon régen megoldani, fordítási időben.
- A hozzászóláshoz be kell jelentkezni
+1.
Már várom, mikor kerül elő itt is a Java meg a memory alignmentek meg a mikrocontrollerek.
----------------
Lvl86 Troll - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
Na ebben egyetértünk. Én jó párszor belenéztem már assembly kódba, amit oo firdító generált, és egy nyamvadt objektumot sem találtam benne.
------
3 fajta matematikus létezik. Aki tud számolni, és aki nem.
- A hozzászóláshoz be kell jelentkezni
Ha ebből ti azt olvastátok ki, hogy az OO rossz, debezzeg a C-s alacsony szintű gányolás milyen csodás, akkor olvassátok el még egyszer. Bár gyanítom ez lesz az első alkalom...
"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee." -- Ted Ts'o
- A hozzászóláshoz be kell jelentkezni
Ez nem igaz, mert pl Gui írásra az oo szemlélet sokkal könnyebben kezelhető foráskódot eredményezhet. De ettől függetlenül szerintem az oo, a rém egyszerű logikus valóság túlbonyolítása, és misztifizálása. Egyszerűen egy logikus gondoloatmenettel, nincs rá szükség.
------
3 fajta matematikus létezik. Aki tud számolni, és aki nem.
- A hozzászóláshoz be kell jelentkezni
"Egyszerűen egy logikus gondoloatmenettel, nincs rá szükség. "
Bizonyos bonyolultsági szintet meg nem ütő feladat esetén nincs, ahogy bizonyos szint alatt szubrutinok alkalmazása helyett gotoval ugrálás is jó ötletnek tűnhet.
- A hozzászóláshoz be kell jelentkezni
Szerintem programozófüggő, hogy ki mit lát át, és hogyan. Én még mindig azt mondom, hogy számomra egy C kód sokkal átláthatób, mint egy oo kód, mert minden ott van előtted, nincs túlkspirázva so osztájokkal se örökléssel se semmivel ami a gépben "ne lenne benne hardveresen". De embere válogatja mindenki azt használ amit tud, és akar.
------
3 fajta matematikus létezik. Aki tud számolni, és aki nem.
- A hozzászóláshoz be kell jelentkezni
"Szerintem programozófüggő, hogy ki mit lát át, és hogyan."
Lehet zseni egy programozó, akinek ez az ideológiai alapja, és tudhat nagyon jó programokat összehozni - éppen csak nem munkahelyre való.
- A hozzászóláshoz be kell jelentkezni
Senki nem beszélt misztifikálásról. Másrészt az OOP nyelvek túlnyomó része is a meglévő imperatív modellre épít rá és inkább a program struktúrájának, adatszerkezetének és működésének átláthatóbb, kezelhetőbb, rugalmasabb felépítésérére szolgál.
(És a tapasztalat az, hogy nem kevés ember úgy húzza le az OOP-t, hogy igazából sosem értette meg, hogy miért jó az. És alapvetően inkább azért húzza le, mert nem érti, mintsem mert rossz lenne.)
----------------
Lvl86 Troll - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
GUI-ra pont nem, de nem baj. Az OO altalaban pont arra jo, hogy a valosagot egyszerubben le tudd kepezni. Mindegy.
----------------------
while (!sleep) sheep++;
- A hozzászóláshoz be kell jelentkezni
"GUI-ra pont nem, de nem baj"
Jaj...
- A hozzászóláshoz be kell jelentkezni
Nem tudom, en szivesebben hasznalok deklarativ leironyelvet GUI-hoz, mint mybutton.setOnClick+=this.onClickHandler jellegu dolgokat. Lehet, hogy ezzel te mashogy vagy.
Altalanossagban egyebkent az szokta fikazni az OO-t (vagy barmi mast), aki nem ert hozza. Abszolut megvan az oka, hogy az OO miert olyan elterjedt, es annak is, hogy mikrokontrollerre miert nem OO-ban irsz programot (vagyis mostmar ez is valtozik).
Kivancsi volnek, hogy mondjuk egy kereskedesi platformot miert es hogyan irnal meg (marmint emberk) proceduralisan, vagy hogy indokolnad, hogy deklarativ nyelvek helyett miert hasznaljunk C-t (vagy OO-t) GUI-hoz. A funkcionalis programozas megintcsak jo dolog, de alapvetoen ugy, ahogy Carmack mondja (azaz nem silver bullet), nem pedig fanatikusan, mindenhol.
----------------------
while (!sleep) sheep++;
- A hozzászóláshoz be kell jelentkezni
Én alapvetően "matematikát szoktam kódolni". Tuti van olyan munka, ahol én is visítva szaladnék a C-től mert 3-hét 3 nap helyet.... Abban tudok nyilatkozni amiben én dolgozok. Alapvetően pl gui-t sem szoktam írni sokat, mert nincs rá szükségem. Nekem a Gui-írás általában abból áll, hogy kirakok egy load data gombot, ha van valami megjeleníthető, akkor kelle egy show is, és ezt megjeleníteni valahogy. Remélem kereskedelmi (mármint kereskedéssel foglalkozó) programot soha nem kell írnom, maradok a fizika-szimulációknál.
------
3 fajta matematikus létezik. Aki tud számolni, és aki nem.
- A hozzászóláshoz be kell jelentkezni
Megertelek. Ellenben fentebb arra +1-eztel, hogy valaki buvszonak tartja / utalja az OO-t. Ha numerikus szimulaciot csinalsz, akkor valoban nem fetletlen idealis az OO, de van, ahol igen.
----------------------
while (!sleep) sheep++;
- A hozzászóláshoz be kell jelentkezni
"Bűvszónak" azért soroltam, mert mikor megjelent akkor mindenre rá akarták húzni. A feladat szabja meg az eszközt. Persze, ahogy Murphy -óta tudjuk, ha szükséges minden kalapács!
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
Sosem voltam elfogult, és rosszul fogalmaztam ezek szerint, mert alapvetően nekem mindegy hogy ki miben kódol, weblapot sem fog senki írni asm-ben, alapvetően azt akartam kifejezni, hogy az oo szemléletnek semmi köze, a számítógépek működéséhez, sokkal közelebb áll a C, az én munkámat, pedig csak fölöslegesen elbonyolítaná.
------
3 fajta matematikus létezik. Aki tud számolni, és aki nem.
- A hozzászóláshoz be kell jelentkezni
Bocs! Sem bántani, sem vádolni nem akarok senkit. Legkevésbé pedig személyeskedni.
Az oo programozás, és sok más technológia ami manapság használatos mind jó és fontos a maga helyén és nevében.
A véleményemet nyilvánítottam ki (talán itt megtehetem). A különféle technológiák alkalmazása egyébként is nagyban függ a használójától és hogy az mire is használta (vagy éppen kellett használnia).
Szeget kalapáccsal vagy ács szekercével tessék beverni.
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
+1
Van egy embertipus, aki fikazza, amihez nem ert.
Szivesen varok barmifele ertelmes ervet, hogy miert jobb a proceduralis programozas az OOP-nel.
- A hozzászóláshoz be kell jelentkezni
Lehet, h. nem ertek a proceduralis programozashoz :)))
- A hozzászóláshoz be kell jelentkezni
Legalább egyvalaki elolvasta!
Köszi!
-----------
"Generally, Russian technology assumes dumb machines and smart humans, not the other way around." -- The Russian Tea HOWTO
- A hozzászóláshoz be kell jelentkezni
Én jó párszor belenéztem már egy lefordított binárisba hexa editorral, amit egy ASM fordító generált, és egy nyamvadt MOV vagy JMP szöveget sem találtam benne.
Szóval akkor most mi van? Azért vannak a fordítók, hogy valamiből (jelen esetben OOP kódból) valami mást (jelen esetben lefordított ASM kódot) gyártson.
/o\
----------------
Lvl86 Troll - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
Végtére is igen:) De visszafordítottam disassembler-el. Mert memóriacímet vadásztam :)
------
3 fajta matematikus létezik. Aki tud számolni, és aki nem.
- A hozzászóláshoz be kell jelentkezni
dafuq did i just read
- A hozzászóláshoz be kell jelentkezni
sub
- A hozzászóláshoz be kell jelentkezni