897 / 41
Zgłoś

Te kwejki mogą Ci się podobać:

Doładuj więcej

Aby dodać komentarz zaloguj się proszę.

Komentarze:

  • RedCat313

    Niektórzy ludzie nie rozumieją tego że inny człowiek rozumie to czego oni nie rozumieją

    0
  • Anonimowy

    Film Dr Strange fajnie wyjaśnia, że magia i czary to programowanie rzeczywistości:)

    1
  • Anonimowy

    dobrze zapuszcona przynęta... czy Twoj stary nie jest czasem fanem wędkarstwa?

    5
  • Anonimowy

    Programiści są inteligentni ale bez przesady żaden z nich nie wymyślił komputera

    0
  • ZONTAR
    ZONTAR 6 lat temu Odpowiedz

    Zawodowi programiści z wyższym wykształceniem przechodzili cały etap od podstawowej elektroniki analogowej budując i programując coraz bardziej skomplikowane urządzenia za pomocą każdej kolejnej technologii na rynku. Stąd samouk czy programista po kursie internetowym zwykle potrafi napisać program, a profesjonalny programista pisząc program wie jak zachowuje się cała magistrala i jakie procesy są w to zaangażowane. Przy optymalizacjach profesjonalni programiści potrafią dopasować oprogramowanie tak, aby korzystało ze sprzętu w najbardziej efektywny sposób gdy zwykły programista nie potrafi poruszać się poza jedną warstwą abstrakcji.

    3
  • Anonimowy

    @zontar Najniższy poziom programowania to architektura procesora, więc nie wiem skąd twoje pomysły :). Co więcej nie ma w tym nic bardziej magicznego, niż w języku wysokopoziomowym, więc owszem samouk też się nauczy, jeśli zechce. Ty chyba w ogóle mylisz programistę z elektronikiem, który projektuje układy logiczne...

    3
  • ZONTAR
    ZONTAR 6 lat temu Odpowiedz

    Ale wiesz, że architekturę procesora też się tworzy, instrukcje procesora są przygotowywane i tworzone przez programistów? A o HDL może słyszał? Naukę podstaw zaczynasz z kartką i ołówkiem tworząc proste sumatory 8 czy 16 bitowe korzystając z podstawowych operacji arytmetycznych. Procesor w gruncie rzeczy sam jest oprogramowanym urządzeniem, ma w końcu zestaw instrukcji wykonywanych przez podstawowe operacje. Często najbardziej prymitywnym komputerem do oprogramowania są unilogi. Służą do nauki programowania od podstaw z wykorzystaniem kilku podstawowych operacji. Odpowiednikiem stosowanym już na pełną skalę jest chociażby FPGA. Tu nie piszesz programu korzystając z instrukcji procesora, tu masz dostęp do ograniczonej puli bramek logicznych i tworzysz program bezpośrednio konfigurując te bramki. Nieco bardziej prymitywne wersje miały macierz bramek ze wszystkimi ścieżkami i przepalało się ścieżki tak, aby powstał odpowiedni program. Wersje programowalne mają już możliwość zmieniania połączeń, czyli można je przeprogramowywać. FPGA chociażby używa się masowo do kopania kryptowalut. Jeden, stały algorytm opracowany ściśle do wykonywania jednego zadania, zużywa minimum prądu i wymaga sporych umiejętności programisty, ale efekt końcowy jest nieporównywalnie bardziej ekonomiczny od koparki z kartami graficznymi. Oczywiście do każdego algorytmu kryptowaluty trzeba stworzyć nowy program, stąd płytki istnieją tylko do najpopularniejszych walut.

    0
  • Anonimowy

    Osoby które wymyśliły i skontrowały pierwszy komputer pisały do niego programy, wiec komputer został wymyślony bez pośrednio przez programistów. I żeby było śmieszniej pisali pierwsze programy pisali przed skonstruowaniem maszyny i wykonywały je... pokoje pełne ludzi. Serio ;)

    0
  • Anonimowy

    @zontar "profesjonalni programiści" o parskłem zdajesz Ty sobie w ogóle sprawę jaki odsetek programistów działa na low lvlu? tak blisko hardware? tu nie chodzi o jakiś tam wymyślony profesjonalizm, a o dziedzinę problemów. Jedni walczą z 10 000 concurrent users Inni przetwarzaniem ogromnych danych / sygnałów / obrazów, w/e Inni z javaskryptem :D Jeszcze inni z hardware, krypto (chociaż tu bardziej matma/algo), implementowaniem rozwiązań dot. security I dlaczego jedynie Ci od hardware byliby profesjonalistami? bo znają elektronikę? :D

    0
  • Anonimowy

    Chciałeś się popisać, a w ogóle nie zrozumiałeś, co napisał Zontar. Wyjaśnił to bardzo dobrze w swoim pierwszym komentarzu. Od tych samouków wychodzą potem takie memy w stylu "typowy programista: nie wiadomo jak, nie wiadomo dlaczego, ale działa, HE HEEE". Profesjonalista by wiedział, bo zna podstawy.I to nieważne, w jakiej dziedzinie się specjalizował.

    0
  • ZONTAR
    ZONTAR 6 lat temu Odpowiedz

    Mylisz pojęcia. Profesjonalny programista niekoniecznie pracuje bezpośrednio przy HW, ale pisząc system do przetwarzania dużych ilości danych czy obsługi masy jednoczesnych klientów musisz go napisać tak, aby możliwie jak najlepiej wykorzystywał zasoby urządzenia. Jak znasz jedynie abstrakcję w postaci języka programowania i nie interesujesz się tym, jak działa on pod spodem, to nie masz jak go optymalnie napisać. Spotykam się z tym dosyć często, nawet wielkie korporacje zatrudniają ludzi bez odpowiedniej wiedzy, którzy używają kombajny do przystrzyżenia trawnika "bo działa perfekcyjnie". Jest sporo pojęć związanych z wyrównywaniem pamięci, optymalizowaniem skoków na stosie, efektywnym wykorzystaniem cache i rejestrów (jeśli piszesz pod konkretną maszynę). Nie bez powodu mówi się też chociażby o grach komputerowych, które są zoptymalizowane pod danego producenta kart graficznych, czy nawet pod określony ich model. Znając budowę i dostępne zasoby będziesz w stanie z nich w pełni korzystać. Inaczej albo wykorzystasz ich za dużo dodając sobie pracy (próbując przenosić 14 litrów w dwóch 6 litrowych wiadrach będziesz musiał przenieść raz 12, drugi raz 2), znowu używając mniej zasobów nie wykorzystasz całego potencjału (prznosisz 8 litrów w dwóch 6 litrowych wiadrach). W komputerach osobistych i w aplikacjach konsumenckich ma to małe znaczenie, różnorodność urządzeń i konfiguracji jest zbyt duża i optymalizuje się ogólnie (np wykorzystanie kilku wątków, większość komputerów ma kilka wątków). Stąd chociażby produkty Apple mają lepszą wydajność na słabszym sprzęcie od konkurencji. Skupiają się na optymalizacji pod kilka urządzeń o praktycznie identycznej konstrukcji. Jak jednak zobaczysz na branżę, to większość programistów nie tworzy aplikacji, czy konsumenckich programów, ale wyspecjalizowane systemy. Wszystko od pralki, czy domowego odkurzacza po sondy kosmiczne jest pisane pod określone użycie z wykorzystaniem danego sprzętu i tutaj znajomość oraz umiejętność napisania optymalnego kodu na dany sprzęt jest bardzo ważna. Nie wystarczy umieć naklepać program, który coś zrobi. Ma być wydajny i jak najlepiej korzystać z dostępnych zasobów.

    1
  • Anonimowy

    @zontar >Jak jednak zobaczysz na branżę, to większość programistów nie tworzy aplikacji, czy konsumenckich programów, ale wyspecjalizowane systemy. Wszystko od pralki, czy domowego odkurzacza po sondy kosmiczne jest pisane pod określone użycie z wykorzystaniem danego sprzętu i tutaj znajomość oraz umiejętność napisania optymalnego kodu na dany sprzęt jest bardzo ważna. Nie wystarczy umieć naklepać program, który coś zrobi. Ma być wydajny i jak najlepiej korzystać z dostępnych zasobów. Mam inne wrażenie, że odkurzacze i sondy to raczej mniejszość, a dominują CRUDY. Optymalizować powinno się jeżeli trzeba, lub da się dużo ugrać lub jeżeli koszt jest niewielki. "Większość" programistów nie optymalizuje, bo ich systemy / aplikacje jak na dzisiejsze czasy używają mało zasobów. Jak na moje, to częstszym wąskim gardłem jest n+1 zapytanie do bazy.

    0
  • ZONTAR
    ZONTAR 6 lat temu Odpowiedz

    I właśnie pokazujesz jakim myśleniem kierują się pseudo programiści.

    0
  • Anonimowy

    @zontar Nad programistami jest management, a nad managementem shareholderzy i ich gówno obchodzi 5 czy 15ms Dryfujesz w jakimś abstrakcyjnym świecie, albo trudnym jest dla ciebie zrozumienie, że zasady z low lvl / hardware nie są aż tak istotne w innych obszarach IT. Szczególnie tych, które są mocno na granicy z biznesem.

    0
  • ZONTAR
    ZONTAR 6 lat temu Odpowiedz

    Tak tak, systemy giełdowe, telefonia komórkowa, samochody autonomiczne, operacje międzybankowe, kto potrzebuje optymalizacji. Gadasz o skalowalności, a nawet nie widzisz jak 5ms na zapytanie przekłada się w skali dziesiątek tysięcy jednoczesnych odwołań. Pisałeś o 10k jednoczesnych użytkowników. Opóźnienie 5ms na zapytaniu daje ponad 8 minut. W każdym projekcie w jakim do tej pory pracowałem prędzej czy później pojawiała się kwestia wydajności. Co najlepsze, w razie problemów z wydajnością często nie było ludzi, którzy potrafią prawidłowo przeanalizować kod i wysnuć wnioski, większość działa w ciemno. Wielokrotnie spotykałem się ze stwierdzeniem, że referencja jest tak samo szybka jak shared_ptr i to od ludzi, którzy doświadczeniem i pozycją w firmach mieli autorytet. Już nie wspominam o bardziej zaawansowanych błędach. Myślisz, że jak powstają gry na konsolę? To nie komputer, nie powiesz komuś "kup lepszą konsolę". Masz sprzęt i gra ma działać bez zarzutu, to zadaniem programisty jest wykorzystać jej możliwości jak się tylko da. Zapewniam cię, że management i shareholderzy przykładaja sporą uwagę do płynności działania, wydajności i jakości ostatecznego produktu. Jak produkt nie spełni oczekiwań, to nie będą mieli z niego odpowiedniego dochodu, a to się już przekłada na wszystkich. Praktycznie we wszystkich rozwiązaniach wykraczających poza komputery osobiste taniej zoptymalizować jedno oprogramowanie, niż wymagać rozbudowy sprzętu.

    0
  • Anonimowy

    @zontar >Jak produkt nie spełni oczekiwań, to nie będą mieli z niego odpowiedniego dochodu Najważniejsze zdanie A jeżeli produkt spełnia wymagania i oczekiwania, a nadal jest jakiś-tam-odnajdywalny "room for improvement" to co robimy? katujemy mili/nano sekundy, których końcowy user i tak nie widzi, czy w tym samym czasie dodajemy nowe featury, który już może być kartą przetargową aby zyskać klienta? Dołożyć RAM czy jakiś OK procesor, to zazwyczaj nie jest niesamowicie duży koszt, jedynie pytanie kiedy trzeba przestać skalować horyzontalnie, a trzeba rzeczywiście szukać płomieni i bottle necków w kodzie.

    0
  • ZONTAR
    ZONTAR 6 lat temu Odpowiedz

    Ciągle kręcisz się wokół komputerów osobistych, które stanowią mniejszość na rynku. Nie chce mi się prowadzić tej dyskusji, zwyczajnie nie masz pojęcia o branży.

    0
  • Anonimowy

    @zontar "Ciągle kręcisz się wokół komputerów osobistych, które stanowią mniejszość na rynku." względem czego? mobile? IoT? W mobile telefony mają tyle ramu, co kilka lat temu komputery, więc zamiast optymalizować to leci się tutaj w horyzontkę i dorzucanie pamięci, a większość IoT to bullshit i raczej daleko im do "profesjonalistów", bo czy przypadkiem security w tych urządzonkach nie jest non-existent?

    0
  • Anonimowy

    Brak elementarnej wiedzy nie uprawnia do negowania praw fizyki i osiągnięć wyżej rozwiniętych ludzi :) A wielkie polaczki po zawodówce czy inni płaskoziemcy lubują się w tym. Tak samo jest magią komputera. To że tego nie rozumiesz, to nie znaczy że to jakaś mistyfikacja. A akurat na tle innych, jest to wyjątkowo przystępne do zrozumienia zagadnienie, więc nie warto wychodzić na debila, tylko wykazać minimum chęci i zgłębić temat. Ale oczywiście łatwiej i wygodniej być debilem :) Hmm wszystko zaczyna się od tego czy prąd jest czy go nie ma, 0-1 :)

    13
  • Anonimowy

    "Magią", "cudem techniki" jest właśnie ta wiedza, idea i pomysłowość ludzi, którzy potrafili w ciągu kilkudziesięciu lat, zamienić te 0 i 1. na właśnie coś więcej, od prostych obliczeń, aż do dzisiaj, profesjonalne symulacje, skomplikowane obliczenia, analiza obrazów i rozwijająca się sztuczna inteligencja. Pierwszy komputer na bazie lamp elektronowych powstał w latach 30-stych ubiegłego wieku. Minęło niecałe 100 lat, a jak wyglądają dzisiejsze komputery, miniaturyzacja, moc obliczeniowa etc.

    13
  • Anonimowy

    "Każda wystarczająco zaawansowana technologia jest nieodróżnialna od magii."

    0
  • Anonimowy

    Tak naprawdę życie to sen, a my leżymy i śnimy, a śnią nam się poj****e rzeczy i tyle.

    0
  • Anonimowy

    Od kiedy natężenie / napięcie w jakimś tam psiaku czy innymi krzemie potrafi dokonywać obliczeń albo renderować grafikę? Komputery nie istnieją jako twór ludzki a wiedza dana od kosmitów lub starożytnych.

    -8
  • Zływieprz

    pojebany jesteś?

    2
  • Mnemoniczny Dżony

    Bait? Używasz 0 lub 1 do nadania sygnału. Im więcej takich 0-1 możesz nadać, tym bardziej skomplikowany sygnał, aż dochodzimy do obrazków itd. Komputer kwantowy to je magia dopiero Na internetach i jutubach możesz sobie zobaczyc jak ludzie budują sami maszyny logiczne i kalkulatory z klocków lego

    edytowano: 6 lat temu
    4
  • Anonimowy

    Instrukcja jak samemu zbudować 8-bitowy komputer: https://www.instructables.com/id/How-to-Build-an-8-Bit-Computer/ kOmPUtErY tO wYmYSł kOsmItóW!

    1
  • piotr305

    Przecież od razu widać że to był bait

    13
  • Mnemoniczny Dżony

    @piotr305 Wiesz, niektórzy ludzie są naprawde p******i, spójrz na link, który dałem w komentarzach jakaś masakra jest. Może to być bait, ale niektórzy są takimi debilami że równie dobrze na serio ktoś tak myśli. https://youtu.be/Y5tomfh_5HI

    edytowano: 6 lat temu
    -2

0.06897497177124