Witam, to mój pierwszy post na forum. Jestem ciekawy, na ile w pracy informatyka, programisty, korzystacie z gotowców, gotowych rozwiązań? O ile z takich korzystacie oczywiście. Czy zawsze piszecie wszystko od początku, czy używacie fragmentów kodów które już zostały napisane?
Oczywiście, że trzeba korzystać z gotowych rozwiązań. Przecież wszelkie biblioteki, ORM, frameworki... ktoś już to napisał, można spokojnie wykorzystać. O ile odpowiada licencja (są firmy, gdzie się nikt nie przejmuje). Podobnie często przecież szuka się rozwiązań i kopiuje je ze StackOverflow czy innego serwisu tego typu angażując do własnych potrzeb.
Aczkolwiek są oczywiście firmy bardzo źle reagujące na cudzy kod (syndrom Not Invented Here).
Przy duzych legacy projektach:
40% - czytanie kodu
25% - integracja/poprawianie gotowych rozwiazan
15% - ustalanie co tak naprawde trzeba zrobic i jak
15% - proces, spotkanie etc
5% - pisanie nowych rzeczy
Gdyby nie gotowce to praca programisty wydłużyłaby się nawet 5x, bo obecnie "wystarczy" dobrać odpowiedni gotowiec do naszego projektu i odpowiednio go wkomponować.
Gdzie takie gotowce można znaleźć?
Ja korzystam często ze stackoverflowa. Najpierw szukam, czy jest już odpowiedź na moje pytanie. Jeśli nie to sam je zadaję.
A czy jak chcesz iść na rower to na nowo koło tworzysz?
eL napisał(a):
A czy jak chcesz iść na rower to na nowo koło tworzysz?
Dziękuję za tak błyskotliwą odpowiedź. Bardziej interesuje mnie gdzie takie gotowce można znaleźć.
Wiadomo, że z gotowców korzysta się zawodowo. Zauważ, że jak pobierzesz Eclipse lub Android Studio by pisać programy na androida, to buttony masz gotowe i masę innych rzeczy, czyli to już jest gotowiec. Następnie możesz skorzystać tam z gotowej klasy MediaPlayer do odtwarzania dźwięków jedną linijką kodu.
http://developer.android.com/reference/android/media/MediaPlayer.html
Do pobrania kodu źródłowego strony też używasz krótkich rozwiązań.
A dziesiątki, jeśli nie setki odtwarzaczy MP3 używa biblioteki BASS, darmowej, tam masz gotowe odtwarzanie dźwięku, streaming i inne rzeczy jakieś.
A cała masa programów korzysta z ffmpeg, czyli gotowa rzecz do konwertowania filmów z jednego formatu na dowolny inny format.
Pójdźmy krok dalej - silniki gier, Unreal Engine, Unity3d i wiele innych silników, sporo osób z nich korzysta i wychodzą komercyjne gry. Po co mieliby wszystko pisać samemu jak często gotowe rozwiązania ułatwiają wszystko i sprawdzają się w danym projekcie?
Zresztą sam windows daje ci od razu gotowców masę, np. pobieranie plików, chyba biblioteka WinInet.
W skrócie, pełno rzeczy to już gotowe rozwiązania, jedne są proste w użyciu, inne są bardzo rozbudowane. Po co wynajdować koło na nowo? Traci się czas.