Edsger Wybe Dijkstra był holenderskim informatykiem.
Otrzymał nagrodę Turinga z 1972 r. Za podstawowy wkład w rozwój języków programowania , powiedział kiedyś:
„NAUKA KOMPUTEROWA NIE JEST WIĘCEJ O KOMPUTERACH NIŻ ASTROM JEST O TELESKOPACH”.
CS jest NAPRAWDĘ RÓŻNY OD SE. (CS! = SE).
CS to naukowiec, który nabył wiedzę na temat NAUKI KOMPUTERA.
NAUKA KOMPUTEROWA lub informatyka (czasami w skrócie CS) to nauka o teoretycznych podstawach informacji i obliczeń oraz praktycznych technik ich wdrażania i stosowania w systemach komputerowych. Często opisywana jest jako systematyczne badanie procesów algorytmicznych, które tworzą, opisują, i przekształcać informacje.
Informatyka ma wiele sub-dziedzin, na przykład:
- Informatyka teoretyczna
- Teoria obliczeń
- Algorytmy i struktury danych
- Elementy komputerowe i architektura
- Wieloprocesowe
- Nauki obliczeniowe
- Sztuczna inteligencja
- Systemy oprogramowania
Wielu z nas nie potrzebuje żadnej z tych umiejętności w codziennej pracy, a przynajmniej jej trochę.
SOFTWARE ENGINEER (SE) to zawód poświęcony projektowaniu, wdrażaniu i modyfikowaniu oprogramowania, dzięki czemu jest ono wyższej jakości, tańsze, łatwiejsze w utrzymaniu i szybsze w budowie. Jest to „systematyczne podejście do analizy, projektowania, oceny, wdrażania, testowania, konserwacji i ponownej inżynierii oprogramowania poprzez zastosowanie inżynierii oprogramowania”
Jako specjalista od CS powinien mieć wiedzę pozwalającą na zarządzanie naprawdę złożonym problemem bez znajomości naprawdę dobrego języka programowania. IMHO tutaj możemy otworzyć kolejny wątek, w którym STOPIEŃ jest dla mnie TYLKO PUNKTEM STARTOWYM, a nie CELEM KOŃCOWYM.
Jako wiedza SE ma on mieć wiedzę, aby zarządzać produkcją tego naprawdę złożonego problemu i zarządzać rozwojem zespołu lub projektu na ten temat.
Razem dokonaj badań naukowych przeprowadzonych przez CS w dziedzinie nauk stosowanych przy pomocy SE.
Nie mam na myśli, że CS jest lepszy niż SE, mam na myśli CS! = SE.
Tego rodzaju pytanie jest tym samym pytaniem, które ludzie niebędący komputerami zadają sobie, gdy pytają cię, dlaczego, jako programiści, nie jesteś w stanie naprawić telefonicznie problemu programu X, Y, Z w systemie operacyjnym J, M, N. ;)
Właściwie nudzę się kodowaniem po 10 latach rozwoju systemu uniksowego w dziedzinie bezpieczeństwa i po przeczytaniu tego pytania rozumiem o co chodzi, muszę studiować więcej informatyki i mniej języka komputerowego i systemu komputerowego lub protokołu!
Nikt w mojej pracy nie poradzi sobie z różnicą w SE i CS! to naprawdę złe rzeczy.
Jeśli uważasz, że CS może być usprawiedliwieniem złej umiejętności programowania, naprawdę nie rozumiesz, czym jest CS, a co SE.
Przypuszczam, że jesteś SE, czy wiesz na przykład, że cały język, cały paradygmat i wszystkie związane z nim elementy komputerowe mogą być wyrażone matematycznie w zestawie częściowej funkcji rekurencyjnej i niezależnie od tego, czego nauczysz się nowego języka, KAŻDEGO NOWEGO JĘZYKA, jesteś tylko uczysz się nowej abstrakcji w stosunku do SAME częściowej funkcji rekurencyjnej?
baw się dobrze :)