Autor Wątek: Technologie Mircosoftu.  (Przeczytany 5475 razy)

Offline topik92

  • Użytkownik

# Kwiecień 22, 2015, 12:56:25
Dla niecierpliwych jakie technologie Microsoftu są warte nauki do komercyjnego zastosowania z uwględnieniem podstaw jakie trzeba mieć do ich opanowania.

To mój pierwszy post na forum i chce się ze wszystkimi przywitać :). Jestem studentem elektrotechniki a moje studia nauczyły mnie że programowanie jest wszędzie i że najlepiej zmienić zawód póki na to czas. Do inżyniera mam 2 lata i do tego czasu chciałbym zdobyć umiejętności pozwalające pracować jako jak pomocnik programisty najniższego szczebla:P. Programować lubię podstawy podstaw mam. Pozostaje pytanie  czego się uczyć wybór padł na C# trochę przypadkowo a trochę dlatego że platforma mirosoftu ma msdn ładną i dużą dokumentacje a ja mam za mało czasu żeby go marnować na szukanie OpenSorsowych dokumentacji których może zwyczajnie nie być i inne tego problemy. Aktualnie uczę się z tej książki  http://www.introprogramming.in[...]h-CSharp-Nakov-eBook-v2013.pdf tylko pytanie co dalej. Gdzie bym nie czytał to widzę sprzeczne informacje jedni mówią że WF jest  przestarzałe i tylko WTF kolejni mówią ze to tez jest przestrzałem i tylko ASP + WF i jakieś dodatki, kojeni mówią jeszcze inaczej, za chwile okazuje się ze jednak Java jest lepsza.. i tak w kółko macieja. A sam nie wiem sam nie mogę o cenić co jest wartościowe a co nie bo po prostu nie mam doświadczenia. Zależny mi też na tym by dość szybko opanować  umiejętność tworzenia prostych aplikacji okienkowych w KOMERCYJNEJ i przyszłościowej technologii bo ich poziom złożoności jest dużo wyższy niż aplikacji konsolowych a chyba za złożonymi sytuacjami będę musiał sobie radzić w  pracy, warto już teraz uczyć się tym zarządzać.

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline komorra

  • Użytkownik
    • Blog naszego teamu (o grze Voxelfield)

  • +1
# Kwiecień 22, 2015, 14:57:52
Cześć :) Moim zdaniem C# to dobry wybór na początek (m.in. dlatego że ma bogatą bibliotekę standardową, a więc nie będziesz musiał wymyślać koła na nowo + dodatkowe biblioteki tworzone przez prężne community + jak się chce to można wywoływać natywny C/C++).

Co do Javy (i ogólnie innych technologii) - wszystko jest dla ludzi i trzeba dobierać technologię do problemu jaki generuje twój cel. Np. C# jest "multiplatformowy" (jeżeli multi to wszystkie odmiany systemu Windows ;) (chociaż jest projekt Mono, dzięki któremu odpalisz programy dot netowe nawet na linuxie i macu) a Java JEST multiplatformowa (chociaż może w niektórych przypadkach zbyt mało wydajna), a więc jeżeli np. celem jest napisanie aplikacji, która chodzi wszędzie na wszystkim to np. Java lub technologie webowe jak najbardziej.

Warty jest moim zdaniem nauki i WinForms (+np. jakiś pak kontrolek typu DevExpress) i WPF (nie mylić z WTF właśnie :P) WCF oraz jakiś backend bazodanowy typu MS SQL.

Offline 10log

  • Użytkownik

  • +1
# Kwiecień 22, 2015, 15:23:11
Dla niecierpliwych jakie technologie Microsoftu są warte nauki

Żadne ;). Szczerze to lepiej pójść w Jave. Dużo większy rynek pracy a przy odrobinie chęci potem można się łatwo przerzucić na Androida. W sumie sam język to i tak 5% sukcesu. Trzeba się też naumieć używać różnych frameworków czy bibliotek, które często są wymagane przez pracodawców.

Offline deadeye

  • Użytkownik

# Kwiecień 22, 2015, 16:00:35
Jeśli myślisz o pracy, to dużego znaczenia język nie ma.

Ważniejsze jest sobie zadać pytanie:
desktop, mobile czy web

Jeśli chcesz desktop, to c# i java będzie dobra. Java jest nieco trudniejsza i mniej logiczna jeśli chodzi o frameworki, jest więcej pracy ale też przez to nieco mniejsze płace.
C# jest dobry, również możesz łatwo znaleźć pracę, a przy ty sam język jest łatwiejszy i nieco lepiej płatny. Co do technologii to i tak będziesz się musiał nauczyć więcej niż jednej. Najbardziej przyszłościowy na desktop jest WPF, a na web ASP.NET MVC, ale to zupełnie dwie różne drogi. Ogólnie web w kategoriach komercyjnego softu jest o wiele trudniejszy na początek, więc jak chcesz mieć szybkie efekty, to proponuje jednak WPF.

Offline BrunonDEV

  • Użytkownik
    • Construgia -- RPG

# Kwiecień 22, 2015, 16:14:07
Witaj!

Ja Ci polecam C++.

- Miły, łatwy w nauce i o dużych możliwościach.

- Masz nad wszystkim kontrolę (wskaźniki). ;)

- Dobra biblioteka standardowa.

- Dobre biblioteki, np. Allegro, SFML, OpenGL, DirectX.

Oczywiście nie sugeruję żebyś odrzucił C#, ale według mnie C++ jest po prostu lepszy.

Javy (100% obiektowe) się ucz dopiero gdy opanujesz programowanie strukturalne. ;)

Pozdrawiam.

Offline 10log

  • Użytkownik

# Kwiecień 22, 2015, 16:34:06
Ja Ci polecam C++.

- Miły, łatwy w nauce i o dużych możliwościach.

- Masz nad wszystkim kontrolę (wskaźniki). ;)

- Dobra biblioteka standardowa.

- Dobre biblioteki, np. Allegro, SFML, OpenGL, DirectX.

Patrząc przez pryzmat rynku pracy to C++ wygląda blado. O allegro, SFML, OpenGL czy DX to już nie wspomnę.

Oczywiście nie sugeruję żebyś odrzucił C#, ale według mnie C++ jest po prostu lepszy.

Javy (100% obiektowe) się ucz dopiero gdy opanujesz programowanie strukturalne. ;)

Pozdrawiam.

Nie musisz od razu rzucać się na jakieś skomplikowane wzorce projektowe. Można od razu nauczyć się programować w języku obiektowym. Idąc dalej mógłbyś polecić najpierw asembler przed programowaniem strukturalnym. W dodatku OOP to jest teraz trendy słówko :)

Offline lethern

  • Użytkownik

# Kwiecień 22, 2015, 17:55:47
Wybór między .NET i Javą to poniekąd kwestia "osobista", wydaje mi się że do każdej opinii znajdziesz kontropinię, więc pojawia się wrażenie, że wybór jest chaotyczny. Moje skromne zdanie - trzymaj się Microsoftu (pracowałem zawodowo z obydwiema technologiami)

Oczywiście wykluczamy C++...

Najnowsze rozwiązanie Webowe od Microsoftu, jak kojarzę, nazywa się "ASP.NET MVC" (jest następcą ASP, ASP.NET, WebForms). Jednak nie musisz się uczyć najnowszego akurat, bo możesz trafić do pracy w której wcale nie będą jej używać. Co byś nie wybrał, nie będzie to strata, w branży programistów nie jest niczym dziwnym, że uczysz się nowych rzeczy on demand (przykład: w mojej obecnej pracy wykorzystuje się każde z: C# .NET, VB .NET, Java, PostgresSQL, MSSQL, Oracle, Windows, Linux)

Co do "ścieżki" to bym powiedział że jest dobra, tj. przerobisz sobie książkę czy kilka, dalej, możesz pogłębiąć wiedzę, wejdź w szczegóły, spróbuj dodawać bardziej skomplikowane rzeczy (czyli np. obsługę błędów, tranzakcji, filtrów, modal paneli, styli i wyglądu, uprawnień - można wymyśleć milion rzeczy, każdą z nich będziesz musiał wygooglować, zrobić research i posiedzieć z kodem, i na pewno pójdzie na to więcej czasu niż masz)
« Ostatnia zmiana: Kwiecień 22, 2015, 18:09:46 wysłana przez lethern »

Offline wozix

  • Użytkownik

# Kwiecień 22, 2015, 18:40:01
Javy (100% obiektowe) się ucz dopiero gdy opanujesz programowanie strukturalne. ;)
Hue? Chyba nie do końca wiesz czym jest programowanie strukturalne. Przejrzyj sobie źródła choćby Linuxowego kernela i zastanów się czy jest sens skazywać kogoś na coś takiego. (nie twierdzę, że złe, ale kilka argumentów typu void* w funkcji do mnie nie przemawia).

Offline BrunonDEV

  • Użytkownik
    • Construgia -- RPG

  • +3
# Kwiecień 22, 2015, 18:55:26
@up:

Cytuj
Programowanie strukturalne – paradygmat programowania opierający się na podziale kodu źródłowego programu na procedury i hierarchicznie ułożone bloki z wykorzystaniem struktur kontrolnych w postaci instrukcji wyboru i pętli. Rozwijał się w opozycji do programowania wykorzystującego proste instrukcje warunkowe i skoki. Programowanie strukturalne zwiększa czytelność i ułatwia analizę programów, będąc znaczącą poprawą w stosunku do trudnego w utrzymaniu „spaghetti code” często wynikającego z użycia instrukcji goto.
From: http://pl.wikipedia.org/wiki/Programowanie_strukturalne

;)

Offline Xion

  • Redaktor
    • xion.log

  • +9
# Kwiecień 23, 2015, 00:17:18
Cytuj
Java JEST multiplatformowa (chociaż może w niektórych przypadkach zbyt mało wydajna)
Czy mi się wydaje, czy nie tylko odkopałeś dawno nieaktualnego mema pt. "jaka to Java jest wolna", ale jeszcze wtrąciłeś go na tym samym oddechu, na którym mówisz o C#/.NET, który to architektonicznie jest bardzo podobny i do Javy/JVM i ma bardzo podobne charakterystyki wydajnościowe? Wstyd, panie, wstyd. Takie fanbojstwo się nie godzi.

Cytuj
Ja Ci polecam C++.
- Miły, łatwy w nauce i o dużych możliwościach.
- Dobra biblioteka standardowa.
Oczywiście nie sugeruję żebyś odrzucił C#, ale według mnie C++ jest po prostu lepszy.
Gratuluję poczucia humoru :)

Offline lethern

  • Użytkownik

  • +1
# Kwiecień 23, 2015, 01:55:44
odkopałeś dawno nieaktualnego mema pt. "jaka to Java jest wolna"
Bo Java jest wolna, ale że akurat najwięcej czasu procesor spędza na "czekaniu na RAM", to się tego nie zauważa i się zrównuje z "czekaniem na RAM" aplikacji C++

Offline DanielMz25

  • Użytkownik

  • +1
# Kwiecień 23, 2015, 02:55:34
Czy wybierzesz Javę czy C# to  jak będziesz cierpliwie szukał to pracę znajdziesz, jest mnóstwo ofert dla programistów javy i C#. C++ też nie jest zły, praca jest mało i to raczej dla wymiataczy, ale jak poznasz C++ to przerzucenie się na javę czy C# nie zajmie Ci dużo czasu :)
 Co do szybkości programów, to java i C# nie mają szans w starciu z C++ :)
« Ostatnia zmiana: Kwiecień 23, 2015, 03:20:51 wysłana przez DanielMz25 »

Offline topik92

  • Użytkownik

# Kwiecień 23, 2015, 12:34:49
Cytuj
C++ też nie jest zły, praca jest mało i to raczej dla wymiataczy,
Z takiego założenia wyszedłem, musiałbym konkurować z ludzi którzy od 20 lat zajmują się tylko tym, albo zajmować się dużymi już istniejącymi aplikacjami, a przynajmniej tak mi się wydaje.
Cytuj
Żadne ;). Szczerze to lepiej pójść w Jave. Dużo większy rynek pracy a przy odrobinie chęci potem można się łatwo przerzucić na Androida. W sumie sam język to i tak 5% sukcesu. Trzeba się też naumieć używać różnych frameworków czy bibliotek, które często są wymagane przez pracodawców.

Dlatego pytam się które z fremeworków i bibliotek sa warte nauki. A co byś polecił z javy?.

Książka którą przerabiam jest bliźniaczką tej samej tyle że dla javy a ja jestem na takim etapie że ewentualna przesiadka jest kwestią dnia lub dwóch.

Skoro desktop jest niezbyt przyszłościowy a aplikacje mobilne są ciekawe ale ja niezbyt się pale do sprawdzania nowinek odnośnie nowego modelu telefonu 4 razy dziennie, to pozostaje web a do tego podobno  lepsza jest java. A jakie frameworki biblioteki są warte nauki w javie?

Offline Xender

  • Użytkownik

  • +3
# Kwiecień 23, 2015, 12:46:52
Bo Java jest wolna, ale że akurat najwięcej czasu procesor spędza na "czekaniu na RAM", to się tego nie zauważa i się zrównuje z "czekaniem na RAM" aplikacji C++
Czyli jeśli w danym przypadku nie widać różnicy, to po co się bujać z C++?

Co do szybkości programów, to java i C# nie mają szans w starciu z C++ :)
A JIT to pies?

Szybkość ma znaczenie, kiedy jesteś CPU-bound - dlatego C/C++ pisze się np. biblioteki numeryczne, które potem mogą mieć bindingi do innych języków.
Jeśli nie piszesz czegoś, co ma ciasne pętle i z góry wiadomo, że program spędzi na tym dużo czasu, to najpierw profiler, potem wnioski.

Bo możesz przepisać kawałek kodu z Javy/C#/Pythona na C++ z 10-krotną poprawą wydajności.
Albo i 200-krotną.
I co z tego, skoro program na wykonywaniu tego akurat kawałka kodu spędzał 0.25% czasu?

Dlatego pytam się które z fremeworków i bibliotek sa warte nauki. A co byś polecił z javy?.
To, co Ci potrzebne do roboty.
"Uczenie" się bibliotek na zapas brzmi jak kiepski pomysł.

to pozostaje web a do tego podobno  lepsza jest java. A jakie frameworki biblioteki są warte nauki w javie?
Java i web?
Na pewno jest to bardziej popularna kombinacja niż "C++ i web", ale nie tak popularna, jak poniższe:

PHP (jeśli lubisz gryźć beton, bo to taki "przyjemny" "język programowania").
Ruby.
Python + Django/Flask/Pyramid...
Node.js (no ok, nie wiem, czy jest popularniejszy niż Java).

A po stronie przeglądarki to na razie wybór jest tylko jeden: miłościwie panujący JavaScript, który z Javą ma wspólne:
- Nazwę.
- Składnię będącą wariacją na temat C.
I niewiele poza tym.

Offline Frondeus

  • Użytkownik

  • +2
# Kwiecień 23, 2015, 18:16:32
Cytuj
Java and Javascript are similar like Car and Carpet are similar.

Co do C++ - jeszcze rok, dwa lata temu wyśmiałbym samego siebie, ale uważam że języki dynamiczne (js, ruby, python) rozwijają się o wiele prężniej i to w nich tkwi potencjał. A tam gdzie potrzeba języka do zastosowań korpo - zawsze jest C# i Java.

Ostatnimi czasy Unity zaczyna dominować rynek indie (wystarczy spojrzeć na Ludum Dare, co druga gra jest na Unity, a co trzecia jest "zbudowana" w Unity do WebGL) a to oznacza że to właśnie JavaScript (a raczej jego pochodna czyli UnityScript) oraz C# są głównymi językami w których pisze się szybko i przyjemnie wszystko co ma "pójść na wszystkim".

Offtop: No i czekam z niecierpliwością aż Johnatan Blow da się pobawić swoim językiem , ale to już taka tendencja do testowania nowych rzeczy.