-
Data: 2013-02-11 06:04:58
Temat: Re: Jakie typowanie jest najlepsze i dlaczego statyczne?
Od: "M.M." <m...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu poniedziałek, 11 lutego 2013 00:58:41 UTC+1 użytkownik Andrzej Jarzabek
napisał:
> To jest argument nazasadzie: "może i ta cała obiektowość ma jakieś
> zalety przy pisaniu dużych systemów, ale co z tego, skoro nidgy bym nie
> zdecydował się użyć jej do pisania czegoś takiego".
Argument "ma zalety bo używam" też niewiele wnosi :)
Właśnie 2-3 godziny temu stanąłem w obliczu takiej refaktoryzacji ze
zmianą struktury danych dla algorytmów, a więc musiałem także
poprawiać algorytmy. Konieczność wynikła z nieudanej próby optymalizacji.
Zamiast globalnie trzymać dane w pamięci, a potem filtrowanie/sortowanie
zrobić na wskaźnikach, to dla algorytmów przygotowałem specjalistyczne
struktury danych. Globalne dane były konwertowane na specjalistyczne,
liniowe tablice w pamięci. Miałem nadzieję że dzięki sekwencyjnemu
dostępowi do pamięci i mniejszym rozmiarom specjalistycznych struktur
program zadziała szybciej. Niestety nie udało się, narzut na konwersje i
kopiowane pożarł cały zysk.
No więc stanąłem w obliczu tej refaktoryzacji i myślę sobie, jakbym miał
język z dynamicznym typowaniem, to pomimo wielu błędów w pozostałych
częściach programu, bym mógł program uruchomić. Bym mógł uruchomić te
działające części, a w trakcie uruchomienia może zdołałbym zrobić
jeszcze jakiś eksperyment z optymalizacją. Ze statycznym typowaniem nie
mogłem na to sobie pozwolić, musiałem wszystkie użycia specjalistycznych
struktury zamienić na tablice wskaźników. Myślę sobie dalej: znalazłem
zaletę dynamicznego typowania.
Jednak po chwili druga myśl: przecież kompilator przez 2-3 godziny krzyczał, że
jest źle. Bez tej pomocy bym pewnie te wszystkie użycia znajdował przez
tydzień albo dłużej. Co więcej, środowisko uruchomieniowe odsyłałoby mnie
do linii w której błąd się uaktywnił, a do złego użycia bym musiał dochodzić
debugerem po stosie wielokrotnych wywołań funkcji. Tutaj kompilator pokazał
mi od razu gdzie nie ma zdefiniowanych typów i od razu byłem w linii
która wymagała poprawek.
Podsumowując, moje stanowisko nie zmieniło się, nie widzę tych zalet,
choć niewykluczone że są.
Pozdrawiam
Następne wpisy z tego wątku
- 11.02.13 09:07 Andrzej Jarzabek
- 11.02.13 10:49 Maciej Sobczak
- 11.02.13 17:24 M.M.
- 11.02.13 18:41 firr kenobi
- 11.02.13 18:55 M.M.
- 11.02.13 19:18 firr kenobi
- 12.02.13 00:19 Andrzej Jarzabek
- 12.02.13 00:23 Andrzej Jarzabek
- 12.02.13 00:36 Andrzej Jarzabek
- 12.02.13 01:15 M.M.
- 12.02.13 02:09 Andrzej Jarzabek
- 12.02.13 08:41 Adam Wysocki
- 12.02.13 10:10 AK
- 12.02.13 10:19 Maciej Sobczak
- 12.02.13 20:14 Andrzej Jarzabek
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-15 Gdańsk => System Architect (Java background) <=
- 2025-01-15 Żerniki => Specjalista ds. Employer Brandingu <=
- 2025-01-15 Kraków => User Experience Designer <=
- 2025-01-15 CYA: Minister Finansów odbija piłeczkę do PKW :-) [obiektywny brak możliwości wykonania wewnętrznie sprzecznej uchwały]
- 2025-01-15 Gdańsk => Solution Architect (Java background) <=
- 2025-01-15 Zielona Góra => Senior Field Sales (system ERP) <=
- 2025-01-15 Wrocław => Application Security Engineer <=
- 2025-01-15 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-15 Kraków => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-15 Białystok => Inżynier Serwisu Sprzętu Medycznego <=
- 2025-01-15 Warszawa => Programista .NET (C#/.NET) <=
- 2025-01-15 Warszawa => Developer Microsoft Dynamics 365 Finance & Operations (D36
- 2025-01-15 Warszawa => Account Manager - Usługi rekrutacyjne <=
- 2025-01-15 serce boli
- 2025-01-14 Seicento vs Szydło, comes back :)