Do tej pory pracuję z asp.net i C #. Zrobiłem też przyzwoitą pracę w Javie. Planuję swoją karierę w taki sposób, że pewnego dnia powinienem być obojętny na język. Czego muszę się nauczyć?
Najpierw paradygmaty OOP, gdy mówi o projekcie klasy. Czy są jeszcze jakieś?
language-agnostic
Gopi
źródło
źródło
Odpowiedzi:
Aby być niezależnym od języka, musisz mieć doświadczenie we wszystkich popularnych stylach i typach języków.
Również:
Niektóre style pisania:
z mocnym i słabym pisaniem.
Niektóre różne style środowiska wykonawczego:
Niższe rzeczy:
Co więcej, powiedziałbym, że potrzebujesz doświadczenia w programowaniu równoległym i czymś sterowanym zdarzeniami . Prawdopodobnie powinieneś również upewnić się, że wiesz coś o różnych domenach, takich jak programowanie internetowe (klient i serwer), rozbudowane oprogramowanie do rozwoju / pulpitu, gry. Możesz także dowiedzieć się o programowaniu wbudowanym lub dedykowanym sprzęcie (np. Konsolach do gier), a tworzenie aplikacji mobilnych staje się coraz ważniejszą domeną.
Inni wspominali również, że warto zdobyć trochę doświadczenia w programowaniu ogólnym i programowaniu Meta .
Kiedy uczysz się tych paradygmatów, unikaj uczenia się składni i pisania w starym stylu. Widziałem, jak wielu programistów C # pisze JavaScript tak, jakby był wpisany statycznie. Nie rób tego, spróbuj nauczyć się paradygmatów językowych i je zaakceptuj.
Jeśli to wszystko zrobisz, różnice między językami staną się w dużej mierze składniowe, więc przełączanie stanie się dość prostym ćwiczeniem uczenia się nowej składni.
Nie zapominaj jednak, że współczesne programowanie prawie zawsze zależy od frameworka, więc bardzo ważne jest również zapoznanie się ze wspólnymi i popularnymi frameworkami dla każdego języka, którego się uczysz. Znajomość C # nie ma znaczenia bez .net.
źródło
Nie sądzę, żebyś mógł stać się naprawdę niezależny od języka. Uważam, że „myślę” w moim obecnym języku (w tej chwili C #).
Jednak powiedziawszy to, myślę, że możesz oddzielić projekt od kodu, próbując myśleć w pseudo-kodzie, a nie w określonym języku, i faktycznie zapisać go w tym formacie. Może to pomóc Ci skoncentrować się na decyzjach dotyczących projektu i architektury, a nie na implementacji w Twoim obecnym języku. Wadą tego - jak zauważa Simon - jest to, że język i struktura, której ostatecznie używasz, nieuchronnie wpłynie na projekt. W miarę rozwoju projektu będzie on coraz bardziej związany z językiem i strukturą.
źródło
Czytając swoje pytanie i niektóre odpowiedzi, można odnieść wrażenie, że utożsamiacie „agnostycyzm językowy” z „znajomością każdego paradygmatu na ziemi”.
Nie jestem pewien, czy znajomość każdego istniejącego paradygmatu, czy znajomość różnorodnych języków, obejmujących kilka paradygmatów i typów języków sprawia, że jesteś „agnostyczny”.
To tak, jakby powiedzieć, że praktykowanie wszystkich religii powoduje, że stajesz się religijnie agnostyczny.
Myślę, że osoba znająca język w zakresie programowania języków powinna być kimś, kto w ogóle nie umie programować w dowolnym języku lub nie obchodzi go, w jakim języku ma się programować.
To powiedziawszy, niektórzy twierdzą, że prawdziwy programista może programować w dowolnym języku, mając dostęp do dokumentacji tego języka.
Jeśli to rozumiesz przez „język agnostyczny”, prawie każdy doświadczony programista może programować w dowolnym języku, z którym jest zmuszony do pracy, pod warunkiem dostępu do dokumentacji językowej.
Może chcesz być „politeistą języka”.
Ja sam jestem kompetentny w kilku paradygmatach językowych, ale wolę OOP, gdy ma zastosowanie. Więc chyba nie jestem agnostykiem.
Prawie nie znajdziesz nikogo, kto nie preferuje określonego paradygmatu lub języka, mając swobodę wyboru.
źródło
To nie tylko języki, sama Java ma tak wiele różnych trybów, że można spędzić lata, ucząc się ich wszystkich. Możesz nauczyć się:
I sto rzeczy, za którymi tęsknię - TYLKO w java.
Jeśli spędzisz lata obejmując całą szerokość (ucząc się każdego języka), będziesz miał trudności z uzyskaniem głębi, aby skutecznie pracować w jednym z nich.
Nie twierdzę, że uczenie się nowego języka jest ZAWSZE problemem, powinieneś to robić aktywnie! Staram się wybrać następną pracę na podstawie tego, czego mogę się nauczyć (czego jeszcze nie zrobiłem), ale często nie wybieram przypadkowego języka i nie uczę się go więcej - ostatnim razem, gdy próbowałem, było ze Scalą i ja nieco upokorzony ...
źródło