Wpis z mikrobloga

Cześć.
Już od jakiegoś czasu chodzi mi to po głowie. Wydaje mi się, że całkiem dobrze znam #php oraz przyzwoicie takie frameworki jak Laravel i Symfony. Symfony uczyłem się tak jak lubię, czyli zaczynając od solidnych podstaw i całkiem pewnie się w nim czuję. Co jakiś czas sprawdzam też inne języki/technologie, a ostatnio był #python i Django. I tu się pojawia bardzo dużo wątpliwości i pytań.
1. Jest tu sporo podobieństw do Laravela, który jest tak krytykowany w społeczności PHP. Dlaczego Laravel jest krytykowany, a Django nie?
2. Co do samej architektury i rozwiązań w Symfony i Django. W Symfony wykorzystywany jest Dependency Injection Container, w 4 wersji serwisy powinno się wstrzykiwać zamiast pobierać z kontenera. Patrząc na Pythona to nie ma tam czegoś takiego, nie ma w ogóle interfejsów. Czy to oznacza, że nie da się tam pisać kodu/klas, które nie są ze sobą mocno powiązane?
3. W ogóle to trudno się pisze w Django, gdzie nie ma żadnych type hintów. Znaczy wiem, że jest coś takiego w Pythonie, ale to chyba pomaga w IDE, w PHP natomiast są type hinty do typów referencjnych, a nawet i prostych. Strasznie trudno mi się przestawić.

A tak w skrócie to chodzi mi o to, że w Symfony jest taki nacisk na best practices, pisanie kodu niepowiązanego (loose coupling) itd. A patrząc na inne języki/technologie to nie zawsze się pokrywa z tym, co niby jest najlepszymi praktykami pisania kodu. I nie mówię tu tylko o Pythonie, ale o Node.js, Javie itd. Jak macie jakieś opinie to się podzielcie - chętnie przeczytam i może trochę mi się zmieni nastawienie.

#naukaprogramowania #php #programowanie #python #javascript #java
  • 12
konto usunięte via Wykop Mobilny (Android)
  • 0
@bananowy_szejk: Pewnie wzielo sie to dlatego, ze kiedys dawno temu PHP byl dziurawy jak ser, przykladowo podatny na SQLInjection. Z tego co sie orientuje obecne php'owe frameworki jak Symfony czy Laravela sa bardzo przyzwoite, ale jak widzisz stereotyp zostal u niektorych.
@BlueBear: Sam PHP 7 jest już dużo bardziej przyjemny niż poprzednie wersje i coraz bardziej przypomina mi Javę. Są type hinty do typów prostych przez co można używać typowania statycznego. W 7.4 mają pojawić się również typed properties.
Chodzi mi raczej, że Symfony, Spring czy ASP.NET MVC lub Core korzystają z dobrych praktyk, gdzie interfejsy pełnią ważną rolę w pisaniu niepowiązanego kodu. A w takim Pythonie te praktyki się nie sprawdzają,
SQLInjection


@BlueBear: przecież to nijak nie jest powiązanie z językiem XDDDDD sql injection masz niezależnie czy sobie korzytasz z php, czy javy czy c# czy c++ czy czegokolwiek innego, jest częste w phpie bo zwyczajnie jakieś 60-70% stron stoi na phpie
@BlueBear: tak samo jak w każdym innym języku, łącząc bezpośrednio string z query z inputem usera xD cały czas możesz to robić w hibernate jak będziesz po prostu robił jakieś gówno, także to jest żaden argument