Kezdőoldal » Számítástechnika » Programozás » Szerintetek képes a Python +...

Szerintetek képes a Python + Cython helyettesíteni a backend fejlesztéshez használt nyelvek nagy részét?

Figyelt kérdés

Érvek:

- Pythonnal rendkívül gyors a fejlesztés

- Az egyik legérettebb nyelvről van szó. Kevés olyan nyelv van, amelyhez ennyi csomag létezne

- A generator és generator comprehension nagyon hasznos nyelvi feature-ök alacsony memória használatú alkalmazások fejlesztésére

- A Cython segítségével a hotspotok gyakorlatilag ugyanúgy optimalizálhatóak, mint C nyelv használatával - sőt, a már optimálisan megvalósított beépített szerkezetek miatt erre még bővebb eszközkészlet is áll rendelkezésre

- Már meglévő C/C++ kódbázis könnyedén hasznosítható, sőt, akár Java / .NET szoftverekkel is integrálható


Ellenérvek:

- viszonylag kevés fejlesztő ismeri professzionális szinten a Python nyelvet

- sajnos sok ügyfél esetében egy PHP-t nem tud helyettesíteni, mivel sokan ragaszkodnak a PHP környezetez (bármily rossz is legyen az), illetve meglévő PHP kódbázisba sem lehet könnyen Python modulokat integrálni


2014. ápr. 5. 01:20
1 2
 11/17 anonim ***** válasza:

"De mi van, ha készítened kell egy HumanoidRobot osztályt is, ami szintén tud beszélni? Ilyenkor persze készíthetsz egy Beszélő absztrakt osztályt, amiből az Ember és a HumanoidRobot származik, viszont ez egyszeres öröklődéssel csak akkor működik, ha nincsenek egymásnak ellentmondó metódusok. Például a Séta, ami a láb nélküli HumanoidRobot subclassekre nem vonatkozik. Ezt már nem lehet pusztán egyszeres öröklődéssel megoldani."


Na de miért akarnál egy Séta metódust a Beszélő ősosztályba rakni?

A Beszélőben legyen simán egy Beszél, az abból származó Emberbe meg beleraksz egy Séta-t, oszt' csókolom. A robot úgysem sétál..

Ha a Beszélő-be rakod a Sétát, az egyrészt logikailag is értelmetlen lenne, mert abból, hogy valami Beszél, nem következik, hogy Sétálni is képes, másrészt meg sérti a Single Responsibility elvet is.

2014. ápr. 11. 10:03
Hasznos számodra ez a válasz?
 12/17 anonim ***** válasza:
Ez a dolog kezd átmenni hitvitába. Folytathatjuk a Windows-Linux, Fradi-Dózsa, Beatles-Stones témákkal.
2014. ápr. 11. 10:10
Hasznos számodra ez a válasz?
 13/17 anonim ***** válasza:

"Ez a dolog kezd átmenni hitvitába"


Szerintem egyáltalán nem.

2014. ápr. 11. 10:37
Hasznos számodra ez a válasz?
 14/17 iostream ***** válasza:
Lehet szar dizájnt csinálni többszörös öröklődéssel, ez ellen egy kicsit véd, ha ezt tiltjuk. De van annyi hasznos usecase, hogy szerintem balgaság a tiltás. És ez valóban hitvita, mert nincs tudományos módszer a kérdés eldöntésére.
2014. ápr. 11. 14:40
Hasznos számodra ez a válasz?
 15/17 anonim ***** válasza:
Lehet, hogy nem tudjuk eldönteni, de az nem árt, ha érvek-ellenérvek találkoznak, abból csak tanulhat mindenki :) Csak ne menjünk át anyázásba :D
2014. ápr. 11. 15:21
Hasznos számodra ez a válasz?
 16/17 A kérdező kommentje:

"Na de miért akarnál egy Séta metódust a Beszélő ősosztályba rakni?

A Beszélőben legyen simán egy Beszél, az abból származó Emberbe meg beleraksz egy Séta-t, oszt' csókolom. A robot úgysem sétál..

Ha a Beszélő-be rakod a Sétát, az egyrészt logikailag is értelmetlen lenne, mert abból, hogy valami Beszél, nem következik, hogy Sétálni is képes, másrészt meg sérti a Single Responsibility elvet is."


Félreérthetően fogalmaztam.


A Séta egy külön Sétáló osztályhoz tartozik, amivel rendelkeznie kell a HumanoidRobot és az Ember osztályoknak, de mondjuk a LábnélküliHumanoidRobot osztálynak nem. Itt ugye az a megoldás Java-ban pl., hogy a sétát és a beszédet interface-el kényszeríted ki, ami kódduplikációhoz vezet.

2014. ápr. 11. 20:13
 17/17 anonim ***** válasza:

Na így már érthető.

Hát nem nem véletlenül van benne minden OOP design-nal kapcsolatos írásban/könyvben rögtön a legelején, hogy "favor composition over inheritance" :)

Alkalmazni kell, és akkor nincsenek ilyen problémák :)

2014. ápr. 11. 20:38
Hasznos számodra ez a válasz?
1 2

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!