• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

programowanie ogólne - lenistwo, czy jednak nie

Object Storage Arubacloud
+1 głos
878 wizyt
pytanie zadane 6 maja 2016 w Inne języki przez niezalogowany
Witam, trochę jak w temacie jednak rozwinę to o co mi chodzi. W językach wysokiego poziomu i 4 generacji piszemy kod, nawet nie wiedząc co tak naprawdę piszemy. Pisząc w C++ sleep() albo w C# Listnazwa_zmiennej nie wiemy jak zostały stworzone te komendy. Wszystko mamy podane na tacy, jednak gdy ktoś spróbuje stworzyć własną klasę imitującą juz istniejącą to mówi się że próbuje wyważyć otwarte drzwi. Nie wiemy przecież jak zostały one napisane, jednak używamy ich by zaoszczędzić czas. I teraz właśnie główne pytanie. Używanie gotowców to lenistwo, czy jednak nie. P.S. Dalem tutaj takie proste przykłady, ale moze dojść dziedziczenie i wiele innych.

3 odpowiedzi

+4 głosów
odpowiedź 6 maja 2016 przez Benek Szeryf (91,110 p.)
wybrane 6 maja 2016
 
Najlepsza

Ekonomicznej jest firmom zatrudnić programistów znających języki wysokiego poziomu, którzy nie muszą się martwić o zarządzanie pamięcią czy tworzenie rozbudowanych typów zmiennych, tylko po prostu od razu używać tych narzędzi, pomimo tego, że przez swoją złożoność są nieco wolniejsze od języków niższego poziomu, a sam programista może być nieco mniej czujny (na przykład łatwiej debuguje się kod w Pythonie niż w C). Poza tym obawiam się, że napisanie rozbudowanego projektu w języku Assemblera zajęłoby zbyt wiele czasu. Ponadto wiele narzędzi jest świetnie zoptymalizowanych dzięki teoriom matematycznym, co raczej nie każdy programista byłby w stanie zaimplementować bez znajomości skomplikowanych algorytmów.

Używanie gotowców to lenistwo, czy jednak nie.

Nie. Wystarczy spojrzeć na Pythona i jego biblioteki. Ponieważ ten język oferuje ogromną ilość narzędzi, daje wiele gotowych rozwiązań, to budując to coraz większe projekty dostrzegasz nowe zależności i możliwości. I tu też trzeba włożyć sporo wysiłku, by to zrozumieć, więc lenistwo jest niewskazane.

Na przykład załóżmy, że masz w pudełku, pomieszane z różnych zestawów, klocki Lego. Musisz się wykazać kreatywnością, aby zbudować z nich samochód. Należy przecież zadbać o jednolity kolor pojazdu, jego kształt, design. To jest takie programowanie w języku Assemblera. Załóżmy teraz, że masz gotowy zestaw z Lego, na przykład budynek straży pożarnej wraz z pojazdami i śmigłowcem. Większość elementów jest czerwona, wszystko do siebie pasuje kolorystycznie i proporcjonalnie. Jednak wciąż musisz myśleć by je złożyć, zakładając że nie masz instrukcji. To jest taki odpowiednik programowania w C++/C#. Na sam koniec załóżmy, że masz do dyspozycji wiele złożonych, gotowych zestawów. Są tam budynki straży pożarnej, policji, zwykłe domki, drogi, lotnisko oraz przeróżne pojazdy. Składasz sobie z tego miasto. I tu też musisz pomyśleć jak ustawić te wszystkie elementy, np. warto by budynek straży pożarnej był gdzieś w centrum, aby szybko dotrzeć do każdego punktu w mieście, ale już na przykład lotnisko powinno być na obrzeżach miasta (ze względów bezpieczeństwa). Musisz wiedzieć, że pas startowy powinien pokrywać się ze średnim kierunkiem wiania wiatru (samoloty startują i lądują pod wiatr, by zmniejszyć szybkość podejścia). Widzisz więc nowe zależności, których nie dostrzegłbyś składając tylko jeden pojazd. To jest taki odpowiednik programowania w Pythonie. To też zmusza do myślenia i na pewno nie można tego nazwać lenistwem.

Żyjemy w takich czasach, że nie da się poznać dokładnie jednego języka programowania, a bierze się to stąd, że zwykle jest on tworzony przez dużą społeczność, a nie przez jednego człowieka. W zależności od potrzeb, należy wybrać sobie jeden język, w którym chce się zostać specjalistą i starać się do tego dążyć. Jeśli spojrzysz szerzej na ten przykład z Lego, to zrozumiesz że nie można licytować, który język jest lepszy. Dostrzeżesz wtedy, że "programista PHP" czy "programista HTML" to są faktycznie programiści (co niektórzy próbują podważyć ten fakt dziwnym argumentem, że są to języki niekompilowane, co niby oznaczałoby że są gorsze).

komentarz 6 maja 2016 przez niezalogowany
Przekonałeś mnie:) czyli każdy mechanizm jest przemyślany i dopracowany. Teraz juz nie mam wątpliwości, dziękuję:)
komentarz 6 maja 2016 przez event15 Szeryf (93,790 p.)

Dostrzeżesz wtedy, że "programista PHP" czy "programista HTML" to są faktycznie programiści (co niektórzy próbują podważyć ten fakt dziwnym argumentem, że są to języki niekompilowane, co niby oznaczałoby że są gorsze).

Co do HTML zostawię pole do popisu Comandeerowi. 

Jeśli chodzi o PHP, toś pan chyba zbytnio przesiąkł Pythonem. Już prostuję - PHP aktualnie ma więcej z obiektowością technicznie wspólnego niż Python. To, że język nie jest kompilowany to nic nie mówi. Python również jest niekompilowany tak swoją drogą.

komentarz 6 maja 2016 przez Benek Szeryf (91,110 p.)
Pan to chyba nie zrozumiał wypowiedzi, bo napisałem odwrotnie niż jest mi to sugerowane.
komentarz 6 maja 2016 przez event15 Szeryf (93,790 p.)
Zrozumiałem, dobiłem gwóźdź i raczyłem zahaczyć iż wspomniane przez Ciebie języki oczywiście nie są kompilowane, dokładnie tak samo jak Python, o którym mówisz tak ładnie.

Także moja wypowiedź miała na celu lekkie wzmocnienie Twojego podsumowania, tak aby nikt nie pomyślał, że jednak rzeczywiście te cudzysłowy są w kontekście ironicznym.

Odnośnie HTML - bliższy jestem ku stwierdzeniu, że osoba w nim pisząca to deweloper, webdeweloper niż programista. Można też użyć określenia webdesigner lub webmaser.

W przypadku PHP to jednak już konkretnie programista.
0 głosów
odpowiedź 6 maja 2016 przez KubenQPL Maniak (62,820 p.)
Właśnie ja nie lubię kiedy robię coś czego nie rozumiem, czuję się jakbym tego nie zrobił, jakby to nie była moja zasługa, dlatego uczę się asemblera żeby wiedzieć jak to wszystko działa od podstaw. Nie mówię że wszystko co będę pisał to będę to pisał w asemblerze, poprostu chcę wiedzieć jak to wszystko działa.
komentarz 6 maja 2016 przez niezalogowany
Warto rozumieć zachodzące procesy, jednak w asm nie masz obiektowości, jednak nie masz aż takiej władzy nad kodem jak juz wspomniana obiektowość. I teraz czy to jest lenistwo.
komentarz 6 maja 2016 przez KubenQPL Maniak (62,820 p.)
W asemblerze masz właśnie większą władzę, umożliwia jak najlepsze zoptymalizowanie. Ale kosztem tego jest wlasnie to że jest to czasochłonne bo nie masz klas. A ja się tego uczę żeby lepiej rozumieć działanie komputera i programowanie.
0 głosów
odpowiedź 24 maja 2016 przez katana1 Obywatel (1,400 p.)
Moim zdaniem nie należy nigdy rozwiązywać problemu dwa razy, bo jest jeszcze tyle zagadnień do odkrycia... Fajnie to uchwycili tutaj w punkcie nr 7: http://haker.edu.pl/2016/03/14/jak-zostac-hakerem/

Podobne pytania

+1 głos
3 odpowiedzi 1,175 wizyt
pytanie zadane 3 kwietnia 2016 w HTML i CSS przez makoso Mądrala (7,380 p.)
0 głosów
2 odpowiedzi 386 wizyt
pytanie zadane 10 marca 2020 w C i C++ przez edwardkraweznik Dyskutant (9,930 p.)
+1 głos
2 odpowiedzi 742 wizyt
pytanie zadane 17 grudnia 2015 w Inne języki przez event15 Szeryf (93,790 p.)

92,624 zapytań

141,482 odpowiedzi

319,822 komentarzy

62,005 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...