Znając C#, Javę lub javascript (to może być zaskoczenie) w zasadzie możesz programować zarówno Web, desktop i mobile, kwestia frameworków. Jeżeli chodzi o C# (to tak naprawdę tylko język programowania) - .NET to platforma, w której się programuje używając zazwyczaj C# (zazwyczaj bo można np. w VB for .NET, F# można równiez tworzyć biblioteki w C++ etc.) to można wyróżnić między innymi takie Frameworki jak:
1. Web:
- ASP.NET MVC
- ASP.NET Web Forms
- ASP.NET Web Api (REST Services)
- WCF (Soap Servcies)
2. Desktop:
-WPF
-WinForms
-Windows 8, WinRT API
3. Mobile:
- Windows Phone
4. Hybrid (aplikacje implementowane przy użyciu jednego języka, które działają na wielu platformach mobilnych IoS, Android, Winows Phone etc.):
- Xamarin
Czyli frameworki służą do tego, żeby móc pracować z językiem na danej platformie (mobile, desktop, web), tak ? Jeśli chcę stworzyć aplikację webową, to wtedy muszę użyć ASP.NET, a do desktopowej potrzebuję np. WPF ?
A co z tym całym Visual Studio, o którym wcześniej wspomniałeś ? Nie jest frameworkiem ? Jeśli nie, to czym w takim razie ?
Reasumując - znajomość języka programowania jest oczywiście bardzo ważna, natomiast tak naprawdę potem bardzo ważna jest znajomość frameworków (które używają i w których piszesz używając właśnie językow programowania).
Zgaduję, że trudność w poznawaniu frameworków będzie zbliżona do tego, jakbym teraz miał ogarniać photoshopa nie mając wcześniej styczności z programami do edycji grafiki ?
Co do matematyki i fizyki to głównie przydaje się przy tworzeniu gier / animacji lub czasem w insytucjach bankowych przy systemach związanych z analizą ryzyka czy coś w ten deseń, natomiast zazwyczaj wygląda to tak, że Biznes Analityk mówi Ci jak wygląda powiedzmy równanie które ma coś wyliczyć Ty to masz zaimplementować w aplikacji. Jeżeli chodzi o gamedev to bez matmy i fizyki może być Ci trochę ciężko. W innych przypadkach jak znasz dodawanie, odejmowanie, mnożenie, dzielenie, procenty i kolejność wykonywanych działań to zazwyczaj wystarcza (bardziej potrzebna wbrew pozorom niż matma jest logika boolowska).
Masz na myśli gry - ogólnie (desktop, platformy mobilne, web), czy raczej te większe, na desktopa/konsole ? Droga do tworzenia jakichś małych popierdółek na urządzenia mobilne też będzie dla mnie zamknięta z racji niewystarczającej znajomości tych dziedzin ?
Przez chwilę czytając ten fragment ucieszyłem się, z racji tego, że i tak jakoś nie ciągnie mnie do gamedevu, ale w końcu dotarłem do fragmentu o algebrze boole'a...
Wygooglowałem, żeby zobaczyć z czym to się je, zerkam i myślę sobie: "o, kurwa".
Przecież to jest jakaś czarna magia. W życiu czegoś takiego na oczy nie widziałem. Jakieś hieroglify.
Jeśli to możliwe, pokierujcie mnie jak najdalej od tego i ogólnie matematyki.
Gdzie jest tego najmniej ?
P.S.: Chyba zdecyduję się w co pójść szybciej niż myślałem, a to dlatego, że nie będę miał po prostu innego wyboru, kiedy zawęzi się to wszystko do rzeczy z jak najmniejszą ilością tego o czym wspomniałem wyżej.
_____________________________
Ponawiam dwa wcześniejsze pytania, na które nie uzyskałem odpowiedzi:
1. Co to są te projekty webowe i na co składa się szerokopojęty webdev ? (zachęcam do podania jakichś przykładów)
2. Zapoznać się najpierw z C, czy od razu jechać z C++ (już trochę zacząłem) ?
_____________________________
- jak chcesz robić projekty webowe, to uczysz się: albo C# (ASP.NET MVC, bo WebForms/WinForms są nierozwijane, aczkolwiek wciaż stosowane ze względu na rozwijanie starszych projektów), albo PHP, albo Ruby, albo Java albo Python (Django) i do każdego z nich JavaScript, no i podstawy HTML i CSS;
Mam pytanie. Skoro C# + ASP.NET MVC pozwalają na tworzenie aplikacji webowych, to dlaczego powinienem się jeszcze do tego nauczyć JavaSciptu + HTML, CSS ?
_____________________________
Trudniej przychodzi mi przyswojenie ogólnej wiedzy na temat programowania niż nauka języka.