Kezdőoldal » Számítástechnika » Programozás » A programozáshoz mennyire...

A programozáshoz mennyire kell matek?

Figyelt kérdés
2021. okt. 20. 23:25
1 2 3 4 5 6
 31/54 anonim ***** válasza:
53%

15:


"Egyébként érdekes volt megtapasztalni, amikor direkt próbáltam egy számmal való osztást- és shift-elést összehasonlítani, időt mérve a sima osztás sokkal gyorsabb volt."


Ilyet behazudni. :)

Eleve, ha képesített lennél, nem próbáltad volna ki, mert tudtad volna, hogy elég az iDIV és az SHR utasítások ciklusigényét kinézni a táblázatból.


Az osztás veszi legjobban igénybe a CPU-t, de a szorzás is elég időrabló tevékenység.

Szóval, hazudtál, csak azt nem tudom, hogy miért.


[link]


ebből idézek, a 4. oldalról:


SHR can be used to perform a high-speed division by 2n


"Úgy látom arra nincsenek nagyon érvek, hogy alapesetben web frontend/backend vagy adatbáziskezelés esetén miért kellene hatalmas matektudás."


De, vannak érvek, már közölve is lettek. Tudod, nem a nyúl viszi a puskát, hanem a vadász. Nem az egyszeri fajankó határozza meg, hogy mit kell tanulni és tudni, hanem az egyetemi profok és a végfelhasználó, az ipar.


Vicces lenne, ha a megrendelő igényére úgy reagálnának egy szoftverházban, hogy összehívnának egy meetinget és megkérdeznék, hogy: akad-e közöttetek valaki, aki meg tudja ezt csinálni?


A web front és backend pedig ma már ott tart, hogy ugyanazt leimplementálják WEB interface-re back-endre, ami eddig desktop-on volt elérhető. Komplett CAD programok, áramkörtervezők látnak napvilágot. Egy ilyen áramkörtervező program huzalozóját hogy írnád meg? Hát, te éppen sehogy.


A kriptográfusok meg egészen mással foglalkoznak. A DES, AES, SHA, stb algoritmusokat pedig igenis programozók fejlesztik.

Az meg nem úgy van, hogy a más által írt, kitesztelt kódot beillesztik, mert az bűncselekmény. Hacsak nem veszi meg a cégük a felhasználási jogokat.

2021. okt. 22. 13:42
Hasznos számodra ez a válasz?
 32/54 anonim ***** válasza:
75%

"Az meg nem úgy van, hogy a más által írt, kitesztelt kódot beillesztik, mert az bűncselekmény. Hacsak nem veszi meg a cégük a felhasználási jogokat."

Ha pl. C++ programozási nyelvben programoznál, mindent megírnál, az összes kezelő-függvényt stb "nehogy bármit is meg kelljen hívni"? :)

Free Pascal alatt próbáltam ki az osztásos dolgot és a bit-léptetés sokkal lassabb volt, nem hazudtam.

Nem is én határozom meg, hogy mit kell oktatni-tanulni, de te sem.

Bármi is hangzik el, nem tartom életszerűnek, hogy ha adatbázis-titkosításról van szó, jelszó-titkosításról, akkor majd kriptográfiailag nekiáll valaki megírni ahelyett, hogy a szabadon felhasználó, elérhető, rendelkezésre álló, szabványos algoritmusokat használná.

2021. okt. 22. 13:51
Hasznos számodra ez a válasz?
 33/54 anonim ***** válasza:
73%

"Ha pl. C++ programozási nyelvben programoznál, mindent megírnál, az összes kezelő-függvényt"


Ha veszel egy fejlesztő rendszert, akkor ahhoz általában jár egy alap függvény könyvtár, de ha már így felhoztad, igen, velem már előfordult, hogy olyan procira kellett fejleszteni, amihez csak egy c fordító volt és egy assembler.


"mit kell oktatni-tanulni, de te sem."


Ti akarjátok felülírni, nem én, te szerencsétlen.


"Bármi is hangzik el, nem tartom életszerűnek,"


Hogy te mit tartasz minek, az szerinted számít?

A titkosító algoritmusok mondatszerű leírások. Azt mindenki úgy implementálja adott nyelven, ahogy neki jólesik. Lehet jól is, rosszul is. Tök mindegy, a munkát programozók végzik és nem kriptográfusok.

2021. okt. 22. 14:11
Hasznos számodra ez a válasz?
 34/54 anonim ***** válasza:
63%

A freepascal próbálkozásod meg, ha nem volt eleve kamu, akkor az történt, hogy az osztásodat eloptimalizálta a fordító és azért lett gyors, mert kicserélte a DIV-et SHR-re.

Generáltass assembly kimenetet és majd meglátod.


Egy integer DIV 2 az a valóságban a legszignifikánsabb bit átbillentése egyből nullába. Nehogy már ez lassabb legyen mint a teljes osztási művelet. Csak az osztó operandus regiszterbe töltése is ennek sokszorosa. És akkor még osztás nem is történt.

2021. okt. 22. 14:17
Hasznos számodra ez a válasz?
 35/54 anonim ***** válasza:
35%

"Free Pascal alatt próbáltam ki az osztásos dolgot és a bit-léptetés sokkal lassabb volt, nem hazudtam."


Akkor ott vagy te csináltál valamit rosszul, vagy a fordító... Nézd meg a fordított kódot, hogy pontosan mit fordított. Néha meglepő dolgokat tudnak fordítani.

2021. okt. 22. 15:36
Hasznos számodra ez a válasz?
 36/54 anonim ***** válasza:
66%

Az már jobban hangzik, hogy a fordító hibázott, mint az a feltételezés, hogy "Szóval, hazudtál, csak azt nem tudom, hogy miért." Nagyon köszönöm hogy felmerült ez a feltételezés is.

Én is meg voltam lepődve, próba során hogy miért nem gyorsabb, ezt olvastam a Free Pascal dokumentációban:


"11.1.8 Shifts instead of multiply or divide

When one of the operands in a multiplication is a power of two, they are encoded using arithmetic shift instructions, which generates more efficient code.

Similarly, if the divisor in a div operation is a power of two, it is encoded using arithmetic shift instructions.

The same is true when accessing array indexes which are powers of two, the address is calculated using arithmetic shifts instead of the multiply instruction."


Titkosítóalgoritmusoknál figyelembe kell venni hogy milyen módban menjen (ECB, CBC, stb), mert a rossz implementálás is rejt magában biztonsági kockázatokat. Számomra azért sem életszerű ma, hogy mindent a legaprólékosabb módon a nulláról újraírnak, mert pl. tegyük fel szükség van jelszó hash-elésre, a ma elterjedt hash algoritmusok szabadon felhasználhatóak, ahelyett hogy a nulláról írna valaki egy új megvalósítást. Nem tis tudom ezt ki fizetné meg: "felmerül egy probléma" -> gyerünk, nulláról írjuk meg hozzá a függvényeket meg mindent"

Az is fura, hogy ha valaki nem tudja "a felsőfokú matekot", akkor azt az ilyen kérdéseknél azonnal eltanácsolják, mondván: "tehetségtelen", "a programozás semelyik ágánál nem találja meg a neki való munkát", "nem ért semmihez", "nem ér semmit".

2021. okt. 22. 17:05
Hasznos számodra ez a válasz?
 37/54 anonim ***** válasza:
67%

Hát ... attól függ mit akarsz csinálni.


Nagyából minden problémát meg lehet oldani felületesen, mert már 10.000 ember megcsinálta előtted és létezik rá 100 különféle könyvtár.


Így akár MI-vel is foglalkozhatsz, mert van rá 1000 python framework, aminél függvényeket meghívsz és máris csináltál valamit.


A baj ott kezdődik, amikor valami újat kell megoldanod, amire nincs interneten előre megírt megoldás vagy éppen van de nem olyan amit le tudsz másolni, mert teljesen más kontextusban implementálták.


Pl.: Találd meg egy gráfban a legrövidebb utat, de úgy hogy ne 100 millió éven át számolja a gép.


Ehez kell egy kicsi matematikai előképzettség, hogy tudd mi az BFS, DFS, Dijktra stb..


Vagy MI-vel akarsz foglalkozni valahol, akkor van pár alap tétel, aminek ismerete nélkül lehetetlen bármit is megértened. Pl.: bayes tétel, de még van vagy 100.


Rengeteg példát lehetne hozni, a lényeg az hogy simán eltudsz olyan helyeken helyezkedni, ahol az összeadás és szorzáson kívül semmi sem kell.


Ott is tudsz sokat keresni.


Tehát nem kell a matek, de én biztos nem dolgoznék ilyen környezetben, ahol csak program szintaxisa, néhány tervezési minta és könyvtárak ismerete kell. Hiszen nincs benne igazán gondolkodás ezen a ponton és ez jobban hasonlít a gyátósori munkához ezen a ponton.

2021. okt. 22. 17:55
Hasznos számodra ez a válasz?
 38/54 anonim ***** válasza:
53%

"Az már jobban hangzik, hogy a fordító hibázott,"


csak hát, a fordító nem szokott hibázni.


Az angol idézettel nem tudom mit akartál, az is az én mondandómat igazolja, annyi plusszal, hogy a tömb indexelésnél is bit shiftet alkalmaz, de hát ez nyilvánvaló.


A szemléletetek, mindenesetre vérfagyasztó.

A tied is és az utánad következőé is. :(


Az nem úgy van ám, hogy nem írjuk meg, mert más már megtette.

Az interneten fellelhető források, library-k szerzői és szomszédos jogai nem közkincsek, ahogy a forráskódok sem azok.


Tudom én, hogy egyesek mégis lopják, ez nem érdekel és nem lehet hivatkozási alap.


Az meg nyilvánvaló, hogy sok esetben nem is éri meg egy cégnek kódot lopni, mert azt végig kell vizsgálni, hogy hibamentes-e vagy sem, az idő alatt meg inkább megíratják a sajátot.


"Az is fura, hogy ha valaki nem tudja "a felsőfokú matekot", akkor azt az ilyen kérdéseknél azonnal eltanácsolják, mondván: "tehetségtelen","


Én ilyet soha nem állítottam. Aki nem végezte el legalább a felsőfokú szakképzőt, az nem szakember és ezért ennek a szakmának a kollektívája nem kiváncsi rá, nem akar vergődni vele vagy helyette. Menjen, szerezzen tudást, képesítést és akkor minden oké.

2021. okt. 22. 18:52
Hasznos számodra ez a válasz?
 39/54 anonim ***** válasza:
54%

Az angol idézettel azt akartam érzékeltetni, hogy én is úgy olvastam, ahogy mondtad és ennek ellenére nagyon meglepődtem, hogy lassabbnak bizonyult a bit-léptetős módszer.

Feltehetően a Linux Kernel (meg egyéb, FSF alatt futó szoftver sem lopta a RijnDael-t meg a hash algoritmusokat, mert azok szabadon felhasználhatóak, úgy tették közzé, ezért nem hiszem hogy lopásnak számítana akár bármilyen program részéről (akár checksum-ellenőrző, akár másról van szó), ha használják ezeket. Linux-nál meg egyébként is dokumentált, hogy mit, milyen license alapján emeltek be és honnan. Volt olyan program, amely (régi verziói) beépítetten nem tartalmazhattak egy bizonyos titkosítási eljárást, amíg a rá vonatkozó szabadalom le nem járt és ezt dokumentálták is az akkori FAQ-ban. Ma is dokumentálnák, ha ezek nem lennének szabadon felhasználhatóak.

2021. okt. 22. 20:45
Hasznos számodra ez a válasz?
 40/54 anonim ***** válasza:
58%

Ahány ország, annyi jogrend.

Magyarországon a szoftverjog olyan, hogy a világon semmit nem lehet felhasználni, hiába van bármilyen (MIT, GPL, stb) license-hez hozzárendelve, kizárólag azt, amiért fizettél valamint azt, amit a szerző vagy jogtulajdonos a te céged nevére licenselt.


De ez nem is gyakorlat, legalábbis, amíg én alkalmazott voltam, sehol nem láttam olyat, hogy efféle cuccokat használtak volna. Olyan cégnél mondjuk dolgoztam, ahol sok lopott szoftver (windows, photoshop, OrCAD, stb.) volt, de ott nyilván vállalta a cégvezető a kockázatot.


Az talán ma már gyakorlattá vált, hogy free vagy GPL-es szoftvereket is használnak, de hogy forráskódot beemeljenek, az kizárt, mert a kereskedelmi szoftver, ahova a GPL-es szoftvert beépítik, automatikusan a GPL alá fog tartozni, az meg annyit nyilván nem ér.


Az tehát, hogy a github, sourceforge és egyéb kódtárak rengeteg, már megírt library-t, kódtöredéket, vagy komplett kódot tartalmaznak, nem jelenti, hogy ezek szabad préda lennének.

Ezekkel egy hobbista, amatőr elpiszmoghat, egy hallgató is bátran tanulmányozhatja, adott esetben hozzá is építheti a saját fejlesztéséhez, de ezeket pénzzé tenni nem nagyon lehet, egy magára valamit is adó cégnek meg eszébe sem jut ilyesmi.

Eleve, egy szoftvercég, bizonyos idő után saját, meglehetősen impozáns kódbázist tulajdonol, olyanról, amit ti elképzeltek, hogy ott ülnének a fejlesztők egy szál gatyában, a linuxos laptopok előtt, szó sincs.


Egy szoftvereket előállító vállalkozás úgy szokott elstartolni, hogy az alapító a már meglévő saját munkáit beviszi szellemi apportként a cégbe.

2021. okt. 22. 22:50
Hasznos számodra ez a válasz?
1 2 3 4 5 6

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, 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!