Kezdőoldal » Számítástechnika » Programozás » Mitől nehéz a programozás?

Mitől nehéz a programozás?

Figyelt kérdés
2018. jún. 13. 20:05
 1/8 anonim ***** válasza:

Van egy online játék, ami több ezer sor kódot tartalmaz. Elrontasz egy karaktert, mert számít a karakterkódolás, de te más karakterkódolásban írtad le mondjuk a négyzetes zárójelet, ami így már mást jelent. Sok szerencsét a hibakereséshez :D


Amúgy totál leegyszerűsített példával jöttem, hogy még a laikus is érzékelje a nehézséget, szóval a hozzáértőknek mondanám, hogy ne kössetek bele :)

2018. jún. 13. 20:21
Hasznos számodra ez a válasz?
 2/8 anonim ***** válasza:

Egyátalán nem az.


Talán a legnehezebb felvenni azt a logikus gondolkodás módot ami a programozáshoz kell. A legtöbbeknek ez természereten jön, de sok emberrel találkoztam, aki heteken át szenvedett a legegyszerűbb dolgokkal míg azok bekattantak neki.


Utána már csak tanulás és gyakorlás kérdésre.


Meg persze ennél még nehezebb jó programozóvá válni. Megtanulni különféle tervezési mintákat, meg felelően elnevezni a különféle dolgokat stb... A vége fele már inkább a részletekre figyelés a nehéz és a tanulásban berögzült hibáknak a kijavítása.

2018. jún. 13. 21:01
Hasznos számodra ez a válasz?
 3/8 anonim ***** válasza:
72%

Attól függ milyen téren nézzük a dolgot.


Egy programot nem megírni nehéz, hanem megtervezni. Ezt szakmai nyelvel szoftver architektúrának hívják. Adott egy probléma, és azt a nagy általánosságtól egészen a legmélyebb felépítéséig meg kell tervezni.


Házat se úgy építenek, hogy: "Gyere pista, hozd az alapanyagot. Építek egy házat, holnap kezdem." Hanem meg kell tervezni, kell egy elképzelés. Majd ez alapján elkészűl, de addig számos emberen megy át.

Tervezni, konkrétumokat mondani sőt dönteni kell a programozónak IS! Pl. Ha megrendelő csak annyi akar, hogy: "Legyen egy ház 5 ablakkal". Ok. Csinálsz egy 12nm-es dobozt 5 ablakkal. Mind a 4 oldalán meg a tetején... Majd a megrendelő ki lesz akadva, hogy ez mi. "Egy ház 5 ablakkal." Vagy visszakérdez az építész, hogy hogyan is.


Persze míg valaki egyedül programozik, akkor a megrendelő saját maga. Ha ő maga nem tud döntéseket hozni, akkor a program is van működik valahogyan.


Ha már a "mit akarok megvalósítani" meg van, akkor onnantól már sima a pálya.

Ez eddig még relatív nyelv független. Az, hogy milyen nyelven implementálod az már mindegy is.


Mivel a programozás több skill-t is hordoz magában: A következő probléma az lehet, hogy: vagy túl sokáig fut, vagy túl sok RAM-ot eszik meg. Ehhez ismerni kell a nyelvet is amiben programozól.

pl.:

- C-ben nem hagyunk ott pointereket! delete és delete[]-ket használni!!!

- Java-ban lehetőleg primitív változókat használjunk, GC nem tudni mikor fog futni.

Igaz a verem hívások miatt ugye törlődnek a függvények/metódusok lokális változói. :)


A másik tényező az a futási idő!

[link]


Nem mindegy, hogy egy problémára milyen algoritmust írsz. Legyen N az input O(x) (ordó x) a legfeljebb ennyi lépésben véget ér, ahol x egy matematikai formula pl.: 2N azaz O(2N)


Tegyük fel, hogy N legyen 5.

Akkor nem mindegy hogy az algoritmusod:

O(N) = 5

O(2N) = 10

O(N^2) = 25

O(N^10) = 9765625

lépésben fejezi-e be. Ha 1 lépés 1mp-nek vesszük, akkor O(N^10) ~113 napot kellene várni legfeljebb, hogy befejezze.


O(N^2)-re jellegzetes példa:


for a = 1 to N:

... for b = 1 to N:

... ... művelet(a, b)


Mivel, ha N=3 akkor a művelet()-et 9x forja lefuttatni.

a-1, b-1

a-1, b-2

a-1, b-3

a-2, b-1

a-2, b-2

a-2, b-3

a-3, b-1

a-3, b-2

a-3, b-3


Ha egy 3x3 mátrix minden elemén végig akarsz menni.


Mondjuk az ilyen algoritmikus gyakorlásnak ajánlom a [link] -ot, mivel van performancia tesztelés is.

2018. jún. 13. 21:31
Hasznos számodra ez a válasz?
 4/8 anonim ***** válasza:
22%

Egyrészt nagy fokú önállóságot és intelligenciát igényel, amikkel kevés ember rendelkezik. Másrészt éveket kell tanulni és gyakorolni hozzá, hogy bármi használhatót össze tudj hozni.

De inkább így nézd: Az emberek 95%-a soha életében nem csinál semmi olyan bonyolult dolgot, mint amit mondjuk a régi Super Mario megírása jelentene. Pedig az egy tök egyszerű program. Az emberek 80%-a meg nem is lenne képes rá, akkor se ha akarná.

2018. jún. 14. 01:14
Hasznos számodra ez a válasz?
 5/8 anonim ***** válasza:
100%

Van az a gondolkodásmód, amit a válós élet megkíván. Ez az érzékszerveken, a tanult és tapasztalt dolgokon alapszik, követi a fizikai valóságot.

Például, ha azt akarod, kenyér kerüljön az asztalra, el kell menni a boltba, megvenni pénzért, szatyorba rakni, majd hazavinni.

De hogy a desktopon megjelenjen egy kenyér képe? Fájlformátumokkal, méretekkel, pozíciókkal, koordinátákkal, jogosultságokkal és kismillió olyan dologgal kell foglalkozni, ami nem köthető a 'hagyományos' gondolkodáshoz.


Ezt az ugrást nem mindenki tudja megtenni. De ez nem csak a programozásra igaz, jogász, orvos vagy jó szerelő sem lesz bárkiből.

2018. jún. 14. 06:14
Hasznos számodra ez a válasz?
 6/8 anonim ***** válasza:
0%
Mert lusták vagytok tanulni.
2018. jún. 15. 03:20
Hasznos számodra ez a válasz?
 7/8 anonim ***** válasza:

nem nehéz egyáltalán, tök jó logikus dolog

csak hát ahhoz, hogy megértsd és tudj programozni, na ahhoz sok-sok tanulás szükséges, ha esetleg saját technológiákat akarsz megvalósítani, na oda még több kell

DE ez nem lehetetlen! csak tanulni kell hozzá

2018. jún. 15. 07:20
Hasznos számodra ez a válasz?
 8/8 anonim ***** válasza:
My life in 1 pic: [link]
2018. jún. 15. 20:13
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!