Dlaczego programiści nie piszą dla siebie?

2

Spotykam się z rozprawami na temat błędów i niedociągnięć w odtwarzaczach, IDE itd. Czemu programiści nie stworzą sami innych, potencjalnie lepszych apek? Soro jest tyle osób, które narzekają na jakiś projekt, że wystarczy na złożenie wielu różnych zespołów, to pozostaje się skomunikować.

7

@PerlMonk: bo doba ma tylko 24h.

Ludzie często robią hobbystycznie soft po pracy i żeby zmieścić jeszcze dodatkowy projekt, to pewnie by nie było czasu na życie prywatne.

Inną kwestia to wiedza i umiejętności. Co jak co ale napisanie własnego IDE wymaga większego skilla niż Hello Home w Springu.

0

A dlaczego maja pisać IDE (nawiasem mówiąca pisałem nadbudowę nad komponentem Scintilla, to się liczy?) albo odtwarzacza (a co to jest odtwarzacz ?)

Może i piszą coś dla siebie, ale skąd wiesz, co ich jara?

1

Czemu programiści nie stworzą sami innych, potencjalnie lepszych apek?

a nie lepiej aby po prostu PRa zrobili?

10
PerlMonk napisał(a):

Spotykam się z rozprawami na temat błędów i niedociągnięć w odtwarzaczach, IDE itd. Czemu programiści nie stworzą sami innych, potencjalnie lepszych apek? Soro jest tyle osób, które narzekają na jakiś projekt, że wystarczy na złożenie wielu różnych zespołów, to pozostaje się skomunikować.

Dużo osób pisze swoje rzeczy. Tylko to nie jest takie łatwe. Kiedyś chciałem napisać własne IDE w JS używając gotowego widżetu edytora kodu, a i tak było to trudne. Jeszcze dochodzi kwestia skali - co innego zrobić coś, co będzie używała jedna osoba, a co innego coś, co będzie używać tysiące programistów, więc dochodzi mnóstwo wymagań typu odpaliłem twoją aplikację na wirtualce z 1MB RAM i mi nie działa. albo twoja aplikacja jest do kitu, bo zacina się przy otwieraniu plików, które mają powyżej miliona linii kodu (wystarczy zajrzeć na jakikolwiek popularny projekt i zajrzeć w issues, których jest tak wiele, że nikt tego nie nadąża robić. To nie jest zajęcie na jedną osobę).

Dodajmy kwestię, że w tej chwili jest mnóstwo przydatnych narzędzi, o których nawet nie wiemy (bo ktoś nie reklamuje tego specjalnie) albo nawet jak je znamy, to nie będziemy używać (bo jest to za mało popularne rozwiązanie, nieutrzymywane, nienadażąjące za standardami albo zabugowane, mało wydajne, wybrakowane, trudne w obsłudze itp.) Tzn. mówię bardziej o różnych bibliotekach, gdzie jak potrzebuję użyć jakiejś biblioteki w JS do czegoś nietypowego, to zwykle kończy się na tym, że po wypróbowaniu kilku randomowych bibliotek z NPM, piszę jednak rozwiązanie samemu, bo tak i tak będzie łatwiej.

Soro jest tyle osób, które narzekają na jakiś projekt, że wystarczy na złożenie wielu różnych zespołów, to pozostaje się skomunikować.

Przecież są alternatywne projekty do wszystkiego. I wiele osób udziela się w open source, ale robi brudną robotę. Utrzymują projekty, fiksują bugi, dodają nowe ficzery. Czyli coś robią, a niekoniecznie jest to widoczne od razu.

pozostaje się skomunikować

Komunikacja zajmuje mnóstwo czasu :D wystarczy spojrzeć na popularne projekty open source i się okazuje, że ludzie zamiast na implementacji, to spędzają czas na wiecznych dyskusjach czy zrobić to tak czy inaczej i dlaczego nie możemy zrobić to w ten sposób (bo legacy code albo edge case'y). Ale przecież to z czegoś wynika. Gdyby projekty open source były rozwijane szybciej, to by musiały robić mnóstwo breaking changes. Ja jak na to patrzę, to mam ochotę po prostu wystartować własny projekt, zrobiony od zera, bez tego całego legacy kodu (tylko znowu wtedy jesteśmy w punkcie wyjścia - zrobienie czegoś od zera do etapu produkcyjnego jest dość żmudnym zajęciem).

4

Ja bym powiedział że tworzą i to w nadmiarze, tyle teraz jakichś dziwnych języków programowania że trudno wybrać np. ziglang.org czy haxe.org czy świat nie byłby lepszy jak by Ci wszyscy zdolni ludzie zebrali się razem stworzyli np. uberC?

Generalnie z kontrybucją do bardzo dużych projektów jest problem bo 1) jak chcesz zrobić coś dużego to brak zaufania ze strony innych kontrybutorów będzie ciebie hamował 2) projekty często są już jedną nogą legacy, często kod jest bardzo skomplikowany 3) dokumentacja często w głowie, dyskusje cross-timezone (przynajmniej dla polaka). Sporo osób mówi że Eclipse to g**no, ale niewielu tam kontrybucje żeby to naprawić. Pracowałem w jednej firmie która używała Eclipsa komercyjnie nawet złotówki nie wpłacili do fundacji, choć firma regularnie wspierała schronisko na paluchu, jedno słowo ciśnie się na usta...

2

A piszą ludzie dla siebie. Tylko większość z tych projektów nigdy nie będzie "wielka" bo:

  1. To są często małe narzędzia rozwiązujące mały konkretny problem, a nie naprawiają świat.
  2. Trzeba coś do gara włożyć, więc jeśli nie masz sponsora takiego projektu, to jak tylko przestaniesz go używać to umrze.

Ja mam parę mniejszych projektów, ale niespecjalnie widzę by stały się mocno popularne ze względu na to, że rozwiązują one moje problemy. A nawet jak jakiś mój projekt stanie się trochę bardziej używany (np. biblioteka do integracji aplikacji Erlangowych z systemd, która będzie używana w następnym wydaniu RabbitMQ), to dalej w większości jest to coś małego gdzieś w tle, a nie "framework".

Z "narzędzi" jakie stworzyłem dla siebie to 2 są takie, z których jestem jako tako zadowolony na chwilę obecną:

  • Dolores - proxy do lokalnego developmentu, które automatycznie generuje certyfikaty TLS i pozwala dynamicznie dodawać i usuwać projekty z listy obecnie działających.
  • pg-utlis - małe skrypty wspomagające pracę z optymalizacją DB
7

Poza tym przecież jest całe mnóstwo różnych pluginów do IDE napisanych przez nie-tworców tych IDE, przykładowo do IntelliJ jest normalne SDK i ludzie sobie klepią narzędzia takie jak plugin do Spocka, KeyPromoter etc.

1

@LukeJL: Domyślam się, że nie brakuje ludzi, którzy są w stanie zrobić poważne aplikacje. Zastanawiam się właśnie dlaczego tak słabo jest z dostępnością innych programów
Open source rządzi się swoimi prawami - jasna sprawa. Jednak - patrząc, że na świecie jest wielu programistów - powinny się znaleźć programy, które rozwija garstka osób i są te programy jakościowo porównywalne z Audacious, Amarok czy Notepad++ albo Kate. Foobar2000 podobno jest robiony przez parę osób. Podobno, bo nie ma repo i listy uczestników projektu a na stronie wymienia się tylko parę osób Jest to program w C i działa bardzo dobrze.
Gdyby spojrzeć na samo forum, to kilka osób chwali się, że robi coś ciekawego. Patrząc po wątku z zarobkami można się spodziewać, że takich osób jest więcej. Nawet, jeśli uznamy, że 1/3 tych osób kłamie a kolejna 1/3 jest przepłacana, to zawsze znajdą się wymiatacze. Czasem pojawiają się wątki, których autorzy siedzą po godzinach i kodzą. Tymczasem przychodzi mi do głowy Tetris i kilka innych rzeczy wspomnianych na mikroblogach. Ruch na forum jest całkiem duży.
Spodziewałem się, że trafię na więcej dobrych apek a tu bieda. Nawet czterdzieści kompletnych IDE albo samych edytorów ciężko znaleźć.

4

Bo z czegoś trzeba żyć. Jeżeli chcesz napisać "własne coś", to konieczne jest zrobienie tego we własnym prywatnym czasie kosztem odpoczynku, hobby, rodziny, znajomych. Zrobienie czegoś w miarę rozbudowanego i przyzwoitego, to masa pracy. Lubię programować, ale nie koniecznie znam się na designie, lubię testować aplikacje, tworzyć dokumentację i wykonywać masę innej, niezbędnej w produkcie dla ludzi roboty, która średnio mnie bawi. Nawet w przypadku samego programowania 90% pracy to nuda, czyli napiszesz coś co cię interesuje, ale albo zostanie to na poziomie obsługi przez CLI, albo będziesz za darmo klepał do tego UI. Ostatni argument to kasa - to co w tej chwili podbiło rynek, to aplikacje webowe, albo wymagające jakiegoś backendu a to oznacza koszty chmury, czy serwera.

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