Dla początkujących - co wolno, a czego nie wolno robić w programowaniu

2

Odnośnie rozwiązań przy budowaniu apek.
Musi być ruch w biznesie, nie w programowaniu, a w biznesie, bo programowanie to biznes.

Wiele osób się zastawia czemu powstaje tyle rozwiązań i czemu aż tle jest utrzymywanych, bo to jest biznes.
Firma X robi aplikację, po kilku latach firma Y dzwoni i proponuje aplikację na innym frameworku+coś tam gratis, potem po kilku firma Z znowu przekonuje, że zrobi coś szybszego na innym fw w którym się specjalizuje i tak się biznes kręci :)
Gdyby wszystkie rozwiązania były idealne to z czasem nie byłoby pracy, bo nie byłoby co robić, wszystko działa super to po co zmieniać.
Takie decyzje są zwykle na poziomie biznesowym, a nie logiczno-programistycznym.

Nawet ostatnio przerabiałem stronę, goowno straszne, pytam się po co w ogóle to przerabiać skoro taniej zaorać i zrobić nowe, a to się okazało, że firma syna kolegi prezesa ją robiła i mamy stronę utrzymywać przy życiu za wszelką cenę.

1

Nie wspomniałem, że nie ma problemów jako zagadnień. Junior nie ma problemów z tym, że musi odkryć, wymyślić jak coś zrobić. On ma problem, bo musi to znaleźć. Wybacz, ale postawienie pionowego diva, czy znalezienie tematu na SO nie brzmi jak pionierskie rozwiązywanie problemów, które wymaga własnej implementacji x rzeczy tylko, należy użyć czegoś co już jest gotowe. To nie jest sztuka, pionierstwo i odkrywcze działanie. To zwykłe wyszukanie opisanego rozwiązania plus nieco inzynierii. Problem jest jak ktoś podejdzie do tego własnie twórczo i zacznie upychać wszędzie divy lub tabelki i rzeźbić po swojego, a faktycznie powinien użyć jak sam piszesz flexboxa - więc gdzie tutaj sztuka i pionierstwo? Chyba, że dla Ciebie pionierstwem jest znalezienie informacji w Sieci, która ma np. 1-2 lata i skorzystało z niej już 2 mln programistów. Najpierw wkłada sie bajki o pionierstwie, sztuce, a potem ludzie są rozczarowani rzeczywistością i się "wypalają" . Dla mnie EOT. Przedstawiłem swój pogląd i nie mam zamiaru się kopać i kogokolwiek przekonywać - każdy oceni czy to jest warte rozważenia, czy nie. Miłej dalszej dyskusji,

0
czysteskarpety napisał(a):

Odnośnie rozwiązań przy budowaniu apek.
Musi być ruch w biznesie, nie w programowaniu, a w biznesie, bo programowanie to biznes.

Wiele osób się zastawia czemu powstaje tyle rozwiązań i czemu aż tle jest utrzymywanych, bo to jest biznes.
Firma X robi aplikację, po kilku latach firma Y dzwoni i proponuje aplikację na innym frameworku+coś tam gratis, potem po kilku firma Z znowu przekonuje, że zrobi coś szybszego na innym fw w którym się specjalizuje i tak się biznes kręci :)
Gdyby wszystkie rozwiązania były idealne to z czasem nie byłoby pracy, bo nie byłoby co robić, wszystko działa super to po co zmieniać.
Takie decyzje są zwykle na poziomie biznesowym, a nie logiczno-programistycznym.

Nawet ostatnio przerabiałem stronę, goowno straszne, pytam się po co w ogóle to przerabiać skoro taniej zaorać i zrobić nowe, a to się okazało, że firma syna kolegi prezesa ją robiła i mamy stronę utrzymywać przy życiu za wszelką cenę.

Każda zmiana softu z firmy X na Y a potem na Z jest podyktowania czynnikiem biznesowym. Może być to większa kasa z aplikacji, niebezpieczna stara aplikacja i ryzyko wycieku, lub lepsze UI w nowej bo klienci już marudzą na stare etc. Mimo różnych pobudek na końcu stoi decyzja biznesowa i jak to przełoży się na złotówki. Dlatego o ile rozumiem migracje na nowe systemy, tak też rozumiem utrzymywanie starych. Sam znam systemy które pracują już ponad 20 lat. Co do strony syna kolegi prezesa - może prezes czerpie korzyści osobiste z tego dealu, a może kolega prezesa jest przy okazji kontrahentem dającym niezły dochód? Moim zdaniem nie istnieje zmiana tylko dla sztuki, czy tylko, że coś jest bardziej fajne. Za wszystkim stoi biznes i kasa - zarówno za zmianą, jak i za jej brakiem.

0
somedev napisał(a):

Nie wspomniałem, że nie ma problemów jako zagadnień. Junior nie ma problemów z tym, że musi odkryć, wymyślić jak coś zrobić. On ma problem, bo musi to znaleźć. Wybacz, ale postawienie pionowego diva, czy znalezienie tematu na SO nie brzmi jak pionierskie rozwiązywanie problemów, które wymaga własnej implementacji x rzeczy tylko, należy użyć czegoś co już jest gotowe. To nie jest sztuka, pionierstwo i odkrywcze działanie. To zwykłe wyszukanie opisanego rozwiązania plus nieco inzynierii. Problem jest jak ktoś podejdzie do tego własnie twórczo i zacznie upychać wszędzie divy lub tabelki i rzeźbić po swojego, a faktycznie powinien użyć jak sam piszesz flexboxa - więc gdzie tutaj sztuka i pionierstwo? Chyba, że dla Ciebie pionierstwem jest znalezienie informacji w Sieci, która ma np. 1-2 lata i skorzystało z niej już 2 mln programistów. Najpierw wkłada sie bajki o pionierstwie, sztuce, a potem ludzie są rozczarowani rzeczywistością i się "wypalają" . Dla mnie EOT. Przedstawiłem swój pogląd i nie mam zamiaru się kopać i kogokolwiek przekonywać - każdy oceni czy to jest warte rozważenia, czy nie. Miłej dalszej dyskusji,

A gdzie ja wspomniałem cokolwiek o pionierstwie? Nigdzie. Przecież to ty pisałeś. Rozwiązywanie problemów nie musi być pionierskie na skalę światową. Odsyłam do definicji słowa problem:
https://sjp.pwn.pl/sjp/problem;2572488.html

  1. «trudna sytuacja, z której należy znaleźć jakieś wyjście»
  2. «poważna sprawa, która wymaga przemyślenia i rozstrzygnięcia

Dla niektórych problemem będzie "jak wysłać ludzi na Marsa" dla innych problemem będzie "w co się rano ubrać".

Tak samo jeden programista będzie rozwiązywać jakieś innowacyjne problemy, inny będzie rozwiązywać problemy, na które ktoś już dawno znalazł odpowiedź.

Jednak w momencie kiedy uznamy, że junior to nie rozwiązuje żadnych problemów, tylko implementuje w 100% to, co ktoś inny już wymyślił to równie dobrze można go wywalić na zbity pysk i napisać skrypt automatyzujący pracę. Jednak tak się nie dzieje (jeszcze?) i ci juniorzy jednak dalej są potrzebni.

Swoją drogą ja jestem akurat zdania, że klepanie HTML/CSS wg dostarczonego z góry designu akurat powinno zostać zautomatyzowane, ale to inna sprawa (póki co jeszcze nie jest). A powinno zostać zautomatyzowane właśnie dlatego, że jest mało twórcze, powtarzalne. Więc niech to robią komputery, a nie ludzie.

3

TL;DR tak, wolno. Nikt Ci nie może zabronić eksperymentowania i sprawdzania co działa, a co nie

A ja się nie zgodzę. Bo, oczywiście, użycie PHP do zrobienia aplikacji desktopowej, wprawdzie nie jest nielegalne, ale nie jest najlepszym pomysłem ;) Myślę, że większość osób pytających o to, czy może zrobić X przy użyciu Y jest mocno początkująca i potrzebuje rady/pomocy/pokierowania. Odpowiedź "pobaw się i zobacz, co się stanie" nie jest najlepsza. W zasadzie, to ona nic nie wnosi do tematu, bo pytający ma taki sam bałagan (albo i większy), niż miał w chwili zadawania pytania. Oczywiście - pewną część totalnie bezsensownych spraw można by olać, ale część ludzi pytających o takie rzeczy to nie są debile, tylko ludziki, którym coś świta, gdzieś coś słyszeli, ktoś coś poradził i starają się to przetrawić we własnym zakresie. Ale że to jakoś im nie wychodzi, to pytają na forum.

2

Ale osoba początkująca powinna najpierw ogarnąć jakieś podstawy programowania w ogóle a nie zastanawiać się, jaka technologia będzie najlepsza do zrobienia danej rzeczy. Na specjalizację przyjdzie czas.
Z kolei osoby bardziej zaawansowane raczej mają już pojęcie, do czego który język będzie sensownym wyborem, albo są w stanie szybko wyszukać tego typu informacje.

2
cerrato napisał(a):

Odpowiedź "pobaw się i zobacz, co się stanie" nie jest najlepsza. W zasadzie, to ona nic nie wnosi do tematu, bo pytający ma taki sam bałagan (albo i większy), niż miał w chwili zadawania pytania.

Dlaczego nie? Ja tak zawsze robiłem, nikogo o nakierowanie nie prosiłem, i nie sądzę, abym źle na tym wyszedł.
Inżynieria jest empiryczna z definicji. A jeśli nie będzie się bawić i próbować, to doświadczenia się nie zdobędzie. Bardziej doświadczeni paradoksalnie mogą podzielić się wyłącznie wiedzą, doświadczenie nie jest transferowalne.

0

@somekind, ale to brzmi, jakbyś chciał czegoś uczyć pytających. Moim zdaniem pytający nie chcą się uczyć – może są wyjątki – tylko chcą otrzymać odpowiedź na ich pytanie; czasem chcą jeszcze, by sformułowano samo pytanie na podstawie ich wątpliwości. Jeśli ktoś chce uczyć pytających, będzie robić to w części przypadków na siłę.

0
Silv napisał(a):

@somekind, ale to brzmi, jakbyś chciał czegoś uczyć pytających. Moim zdaniem pytający nie chcą się uczyć – może są wyjątki – tylko chcą otrzymać odpowiedź na ich pytanie; czasem chcą jeszcze, by sformułowano samo pytanie na podstawie ich wątpliwości. Jeśli ktoś chce uczyć pytających, będzie robić to w części przypadków na siłę.

Nie zgodzę się do końca ani z Tobą ani z @somekind. Choć po części też wg. mnie obaj macie rację. Czym innym jest bawienie się kodem żeby na ten przykład stworzyć jakieś narzędzie na własny użytek albo żeby się przekonać czy się uda coś zrobić, gdzie nie myśli się o konwencjach, clean code, architekturze itp., a czym innym jest klepanie kodu żeby wyszło ładnie i żeby nie było później wstydu pokazać go komuś. W tym pierwszym przypadku jest miejsce na eksperymenty, zabawę, próbowanie różnych rzeczy. W tym drugim już chyba jednak warto się niekiedy spytać czy coś odbiega od szeroko przyjętych standardów czy też nie, jeśli ma się wątpliwości. Poza tym wbija się ludziom do głów DRY i KISS, więc czasami chyba warto spytać się o radę czy da się to zrobić prościej? Sami pewnie przyznacie, że w sieci jest pełno tutoriali które uczą złych nawyków. W książkach (!!) dobrze ocenianych wpaja się ludziom złe nawyki. Ile razy marudzono że MSDN uczy złych nawyków? Tak więc nie dziwcie się że czasami ktoś może być nieco zagubiony i się spyta o poradę albo opinię.

1

Inżynieria jest empiryczna z definicji

Częściowo się zgadzam, w zakresie R&D, tworzenia nowych technologii, pracy badawczej itp.. Podczas normalnej pracy jest wręcz przeciwnie - zamiast robić eksperymenty, korzysta się z dziesiątek/setek lat doświadczeń poprzedników. Owszem, dla własnego rozwoju, takie badania we własnym zakresie są bardzo przydatne, ale podczas codziennej pracy już średnio.

Inżynier to nie tylko programista, ale też np. koleś który projektuje pociągi. W tym drugim przypadku też uważasz, że eksperymenty na produkcji są OK? W sensie - nie powiem Ci jak to zrobić, kombinuj, w końcu zrobisz tak, żeby koła nie odpadały na zakrętach?

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0