Zacząłem pisać w Pythonie przede wszystkim tam, gdzie nie ma bezpieczeństwa typu, potem przeniosłem się do C # i Java, gdzie jest. Przekonałem się, że mogę pracować trochę szybciej i mniej problemów z Pythonem, ale z drugiej strony moje aplikacje C # i Java są na znacznie wyższym poziomie złożoności, …
Używam Pythona od kilku dni i myślę, że rozumiem różnicę między pisaniem dynamicznym a statycznym. Nie rozumiem, w jakich okolicznościach byłoby to preferowane. Jest elastyczny i czytelny, ale kosztem większej liczby kontroli środowiska wykonawczego i dodatkowych wymaganych testów jednostkowych. Oprócz niefunkcjonalnych kryteriów, takich jak elastyczność i czytelność, jakie są powody, …
Często słyszałem twierdzenie, że języki z dynamicznym pisaniem są bardziej wydajne niż języki z pisaniem statycznym. Jakie są przyczyny tego roszczenia? Czy to nie tylko oprzyrządowanie z nowoczesnymi koncepcjami, takimi jak konwencja nad konfiguracją, wykorzystanie programowania funkcjonalnego, zaawansowane modele programowania i spójne abstrakty? Wprawdzie jest mniej bałaganu, ponieważ (na przykład …
Wyjaśniając mojej koledze różnicę między ścisłością języków i paradygmatów, stwierdziłem, że: Języki tolerancyjne, takie jak języki dynamiczne i interpretowane, są najlepiej stosowane w prototypach i małych projektach lub średnich aplikacjach internetowych. Przy wyborze eleganckich dynamicznych języków, takich jak Python lub JavaScript z Node.js, korzyści są następujące: Szybki rozwój, Zredukowany kod …
Czy istnieją badania dotyczące skuteczności języków statystycznych i dynamicznych? W szczególności: Pomiary wydajności programisty Wskaźnik defektów Uwzględnia także skutki zastosowania testu jednostkowego. Widziałem wiele dyskusji na temat zalet każdej ze stron, ale zastanawiam się, czy ktoś to zrobił.
Mój podstawowy język to statyczny typ (Java). W Javie musisz zwrócić jeden typ z każdej metody. Na przykład nie możesz mieć metody, która warunkowo zwraca a Stringlub warunkowo zwraca an Integer. Ale na przykład w JavaScript jest to bardzo możliwe. W statycznie pisanym języku rozumiem, dlaczego to zły pomysł. Jeśli …
Niedawno przelałem kilka godzin na JavaScript, ponieważ chciałem skorzystać z ogromnej bazy użytkowników. W ten sposób zauważyłem wzór, który większość ludzi przypisuje dynamicznym językom. Sprawia, że wszystko działa naprawdę szybko, ale gdy kod osiągnie określony rozmiar, tracisz dużo czasu na błędy związane z pisaniem, pisownią i refaktoryzacją. Błędy, które normalnie …
Przeczytałem kilka artykułów w Internecie na temat wyboru języka programowania w przedsiębiorstwie. Ostatnio popularne jest wiele dynamicznych języków pisanych, tj. Ruby, Python, PHP i Erlang. Ale wiele przedsiębiorstw nadal korzysta z języków o typie statycznym, takich jak C, C ++, C # i Java. I tak, jedną z zalet statycznych …
Czytałem powiązane pytanie Czy istnieją jakieś wzorce projektowe, które są niepotrzebne w dynamicznych językach, takich jak Python? i pamiętam ten cytat na Wikiquote.org Wspaniałą rzeczą w dynamicznym pisaniu jest to, że pozwala wyrazić wszystko, co jest obliczalne. A systemy typu nie-systemy są zazwyczaj rozstrzygalne i ograniczają cię do podzbioru. Ludzie, …
Najpierw chcę powiedzieć, że Java jest jedynym językiem, jakiego kiedykolwiek używałem, więc proszę wybaczyć moją ignorancję na ten temat. Dynamicznie pisane języki pozwalają wstawić dowolną wartość do dowolnej zmiennej. Na przykład możesz napisać następującą funkcję (psuedocode): void makeItBark(dog){ dog.bark(); } I możesz przekazać w nim dowolną wartość. Tak długo, jak …
Nie znam dobrze Python. Staram się lepiej zrozumieć, jakie dokładnie cechy dynamicznych języków (à la Python, Lua, Scheme, Perl, Ruby, ...) zmuszają ich implementacje do powolnego działania. Przykładowo, maszynowość meta Lua 5.3 intuicyjnie spowolniłaby Lua dość powoli, ale w praktyce Lua jest podobno dość szybka (i szybsza niż Python). Mam …
Czy istnieją jakieś poważne różnice architektoniczne podczas projektowania aplikacji, które będą budowane na językach statycznych (takich jak C # lub Java) i językach dynamicznych (takich jak Ruby lub Python)? Jakie są możliwości projektowania, które mogą być dobrym wyborem dla jednego typu, który jest zły dla drugiego? Czy są jakieś przydatne …
Twierdzenie to przez Aleks Bromfield stwierdza: Prawie każdy język ze statycznym systemem typów ma również dynamiczny system typów. Oprócz C nie mogę wymyślić wyjątku Czy jest to uzasadnione roszczenie? Rozumiem, że dzięki klasom refleksyjnym lub ładującym w środowisku uruchomieniowym Java jest trochę podobna - ale czy ten pomysł „stopniowego pisania” …
Czy można wykonać następujące czynności w języku C # (lub w innym języku)? Pobieram dane z bazy danych. W czasie wykonywania mogę obliczyć liczbę kolumn i typy danych pobranych kolumn. Następnie chcę „wygenerować” klasę z tymi typami danych jako polami. Chcę również przechowywać wszystkie rekordy, które pobrałem w kolekcji. Problem …
Zwolennicy funkcjonalnych języków programowania twierdzą, że programowanie funkcjonalne ułatwia rozumowanie kodu. Zwolennicy języków typowanych statycznie twierdzą, że ich kompilatory wychwytują wystarczającą liczbę błędów, aby zrekompensować dodatkową złożoność systemów typów. Ale wszystko, co czytam na te tematy, opiera się na racjonalnych argumentach, a nie na danych empirycznych. Czy są jakieś badania …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.