Jacek K.

Jacek K. Software Developer,
Telecetera Ltd.

Temat: czemu .NET?

Witam
Mam troche lamrskie i ogolne pytanie.
Nie zajmowalem sie do tej pory technologia .NET. W tej chwili rozpoczynam nowy projekt i musze wybrac srodowisko programistyczne. Jedno z dostepnych dla mnie jest Delphi 8 (juz w technologi .NET). Dotychczas tworzone aplikacje byly w wersjach wczesniejszych. Czy warto przejsc na .NET? A moze inaczej, jak bardzo jest przejsc na ta technologie i czy aplikacja ktora powstanie bedzie miala jakies ograniczenia w zwiazku z tym.
pozdrawiam

konto usunięte

Temat: czemu .NET?

zasadniczo jedyne ograniczenie jest takie, że user musi zainstalować .net - poza tym zależy od tego co to za projekt :)
Co do Delphi 8 - polecam. Choć dla mnie - przyjaźniejszy jest MS Visual C#Piotr Jędrkowiak edytował(a) ten post dnia 29.02.08 o godzinie 21:06
Maciej Czerwiakowski

Maciej Czerwiakowski Change Manager @ HP
/ MCPD : Enterprise
Application Devel...

Temat: czemu .NET?

Warto przejść, chociażby dlatego, że .NET staje się natywnym środowiskiem dla platformy MS Windows. Nie pamiętam jak jest w Delphi (nie używałem go od wieków), ale w .NET nie martwisz się integracją z systemem, bo to wszystko dostajesz na tacy. A jeśli postanowisz przesiąść się na MS Visual C# to taca staje się złota, ba platynowa. IMO jest to pierwszy język do naprawdę szybkiego tworzenia oprogramowania na platformę Windows. Konstrukcje języka jak chociażby pętle foreach bez potrzeby deklaracji iteratora, gotowe klasy zwłaszcza kontenery z System.Collection to jest strzał w 10 :) A do tego łatwość posługiwania się językiem, czysty i przejrzysty kod, podpowiadacz składni i cała masa innych drobnych rzeczy, które pojedynczo nie są aż tak odkrywcze, ale razem tworzą środowisko RAD z prawdziwego zdarzenia, gdzie nie tylko szybko zrobisz UI, ale też szybko je oprogramujesz.

konto usunięte

Temat: czemu .NET?

jeśli postanowisz przesiąść się na MS Visual C# to taca staje
się złota, ba platynowa.

Racja:):) Jak czlowiek zaczyna programować w C# to potem nie chce sie wracać na niższe poziomy np C++:) bez względu na środowisko.

konto usunięte

Temat: czemu .NET?

zdania widzę jednogłośne :)
przymusowa przesiadka powrotna z c# na c++ (+zmiana z VS na Borland) kosztowała mnie ostatnio utratę sporej części cierpliwości :)

C# - piękna sprawa - zdrowo, czysto, przejrzyście i na temat :)
Maciej Filipiak

Maciej Filipiak właściciel, VizMedia

Temat: czemu .NET?

Daniel Skolimowski:
Racja:):) Jak czlowiek zaczyna programować w C# to potem nie chce sie wracać na niższe poziomy np C++:) bez względu na środowisko.

Zgadza się :)

Ale tu chodzi bardziej o to .NET niż sam język - chociaż zdecydowanie polecam C# Mały miękki na niego stawia, w przyszłości ma być rozwijany tylko C#, pozostałe języki są stworzone jedynie po to, by przyciągnąć programistów z innych branż.

A dlaczego C# .NET ???

1. Ponieważ jest to zrąbana JAVA - i nikt mnie k... nie przekona, że M$ coś tu nowego wymyślił w semantyce.
Wszystko co M$ zrobił dobrego (działającego) to zaporzyczone pomysły.

2. j.w. to działa !
koniec z wyciekami pamięci jak w C++.

3. Garbage Collector przyspieszenie pracy i koniec z zagubionymi obiektami

4. Pełna obiektowość. Mieszanka technik obiektowych i strukturalnych w C++ to nieporozumienie.

5. IDE - mimo mojego nastawienia anty microsoftowego, muszę przyznać, ze to jeden z lepszych jaki znam.
(a byłem długo borlandowcem)

6. Współpraca M$ z SUN - dogadały się dwa giganty, które walczyły ze sobą na śmierć i życie - cuda się zdarzają. W efekcie mają monopol na najnowsze technologie i będą się one pojawiać równolegle w C# i w Java.
(Borland stara się nie przyjmować pozycji wroga M$, ale jak widać jest wciąż o milowy krok do tyłu)

7. Muszę tu przeprosić urażonych Oraclowców, ale MS-SQL wymiata, a nic z nim tak nie będzie pięknie współpracowało jak IDE .NET

To tyle, dlaczego warto przejść na .NET

WADY:

1. Microsoft nigdy się nie obudzi i nie odkryje, że internet to potęga. Postawił na ISS i ASP - znacie jakichś programistów ASP ?

Pracuje nad poważnymi systemami w .NET, ale gdy trzeba skorzystać z końcówki WWW - to bez wachania wracam do Apache+PHP, dla bardziej rozproszonych systemów J2EE+JSP.

2. No trzeba instalować u klienta te cholerne frameworki ...Maciej Filipiak edytował(a) ten post dnia 03.03.08 o godzinie 08:58
Dariusz Macina

Dariusz Macina Technology Manager,
Making Waves Polska

Temat: czemu .NET?


1. Microsoft nigdy się nie obudzi i nie odkryje, że internet to potęga. Postawił na ISS i ASP - znacie jakichś programistów ASP ?

Pracuje nad poważnymi systemami w .NET, ale gdy trzeba skorzystać z końcówki WWW - to bez wachania wracam do Apache+PHP, dla bardziej rozproszonych systemów J2EE+JSP.

Ze jak? Ze nie ma programistow ASP?
Rozbawil mnie Pan z samego rana :D

O tym ze Microsoft zdaje sobie sprawe ze internet to potega swiadczy chociazby wprowadzanie takich technologii jak Silverlight, ktore z czasem moze stac sie powaznym konkurentem Flex'a jesli chodzi o aplikacje RIA.

PozdrawiamDariusz Macina edytował(a) ten post dnia 03.03.08 o godzinie 09:41
Bartosz Rzemek

Bartosz Rzemek Sharepoint
Architect,
Developer,
Consultant. Team
Leader....

Temat: czemu .NET?

Witam,
Wiadomo ze jak cos jest do wszystkiego, to jest do d... .NET ma swoje dziedziny w ktorych jest ponad Jave (WinForms, ASP.NET), a sa segmenty rynku, gdzie niestety, ale .NET jest za konkurencja (Telekomunikacja, programowanie bardzo wydajnych app). Chociaz M$ rozpycha sie lokciami jak tylko moze, wypuszczajac np Microsoft Office Communication Server...
Maciej Czerwiakowski

Maciej Czerwiakowski Change Manager @ HP
/ MCPD : Enterprise
Application Devel...

Temat: czemu .NET?

Maciej Filipiak:
>
Zgadza się :)

Ale tu chodzi bardziej o to .NET niż sam język - chociaż zdecydowanie polecam C# Mały miękki na niego stawia, w przyszłości ma być rozwijany tylko C#, pozostałe języki są stworzone jedynie po to, by przyciągnąć programistów z innych branż.

VB zniknie zniknie dopóki jest Office i VBA, a o przyszlosc C++ nie obawiałbym się wcale, chyba że ktoś napiszę bibliotekę lepszą niż DirectX w C#, ale to jest raczej nierealne zwłaszcza, że MS robił MDX (Managed DirectX), który nie doczekał się wersji 2.0
A dlaczego C# .NET ???

1. Ponieważ jest to zrąbana JAVA - i nikt mnie k... nie przekona, że M$ coś tu nowego wymyślił w semantyce.
Wszystko co M$ zrobił dobrego (działającego) to zaporzyczone pomysły.

To akurat w niczym nie przeszkadza. Grunt, że kopiują dobre wzorce.
WADY:

1. Microsoft nigdy się nie obudzi i nie odkryje, że internet to potęga. Postawił na ISS i ASP - znacie jakichś programistów ASP ?

Błagam! Takie mówienie/pisanie to przejaw co najmniej ignorancji w temacie. Z ASP co prawda używam głównie WebServices przy któych skrypty PHP wyglądają blado. Ale nie zmienia to faktu, że wygoda i możliwości są ogromne, nie wspominając już o debugowaniu.
Pracuje nad poważnymi systemami w .NET, ale gdy trzeba skorzystać z końcówki WWW - to bez wachania wracam do Apache+PHP, dla bardziej rozproszonych systemów J2EE+JSP.

Apache+PHP do łączenia się z bazą MS SQL 2005? Bo oczywiście Apache nie ogranicza funkcjonalności. W pełni integruje się z AD podlega pod GPO i pozwala logować się do bezpiecznych części strony przy pomocy konta domenowego. Nie wspomnę już o łączeniu z bazą danych przy pomocy trzech kliknięć w IDE, kontrolkach użytkownika i temu podobnych jak chociażby kontrolki z grupy Login. Proszę, przecież to nie ma sensu, nie po to jest ASP.NET żeby używać Apache na Windows.
2. No trzeba instalować u klienta te cholerne frameworki ...

Faktycznie trudna sprawa dorzucić do paczki *.msi framework i go zainstalować automatycznie.Maciej Czerwiakowski edytował(a) ten post dnia 03.03.08 o godzinie 18:46

konto usunięte

Temat: czemu .NET?

Jedno co dodam:
GARBAGE COLLECTOR jednak nie do końca działa :)
Testowalismy w jednej z biedronek informatycznych swego czasu - niestety nie w kazdym przypadku dokonuje destrukcji zbednych obiektow :) choc w ponad 95% dziala :)
Stanisław P.

Stanisław P. Software designer

Temat: czemu .NET?

Piotr Jędrkowiak:
GARBAGE COLLECTOR jednak nie do końca działa :)
Testowalismy w jednej z biedronek informatycznych swego czasu - niestety nie w kazdym przypadku dokonuje destrukcji zbednych obiektow :) choc w ponad 95% dziala :)

Masz jakiś lepszy opis? Jak / co było testowane? Jakieś przykłady?
Bo to że "GC jednak nie do końca działa" to takie trochę luźne stwierdzenie...
Kazimierz Kuta

Kazimierz Kuta Microsoft MVP

Temat: czemu .NET?

Garbage Collector działa zawsze... Usuwa z pamięci obiekty do których nie ma 'strong reference', a tylko 'weak reference' i znajdują się w aktualnie sprzątanej generacji. Dodatkowo działa tylko na ''managed resources', a o 'unmanaged resources' developer musi zadbać sam.

ps.: co rozumiesz przez "destrukcję obiektu"

konto usunięte

Temat: czemu .NET?

Piotr Jędrkowiak:
Jedno co dodam:
GARBAGE COLLECTOR jednak nie do końca działa :)

Sorry, ale spadam z krzesła jak widzę takie stwierdzenia.

konto usunięte

Temat: czemu .NET?

destrukcja = usuwanie z pamieci, niszczenie - jak zwał tak zwał. Wiadomo o co chodzi :)
Co do testow: testowanie elementów współpracy z Oracle.
Część obiektów pozostawała w pamięci (sporadyczne przypadki, ale jednak). Wyniki testów były konsultowane z MS. Odpowiedź: GC działa, ale jednak warto zachować pewną ostrożność.
Z krzesła proponuję nie spadać - lepiej się go mocno złapać, żeby się później nie dziwić. :)
Tak jak napisałem wcześniej - odsetek, w którym GC nie działa (lub raczej działa nie do końca poprawnie) jest minimalny, ale istnieje.Piotr Jędrkowiak edytował(a) ten post dnia 04.03.08 o godzinie 11:15
Stanisław P.

Stanisław P. Software designer

Temat: czemu .NET?

Piotr Jędrkowiak:
destrukcja = usuwanie z pamieci, niszczenie - jak zwał tak zwał. Wiadomo o co chodzi :)
No właśnie nie wiem - niszczenie - wywołanie destruktora też w to wliczasz, czy tylko oddanie pamięci do pool'a, czy tylko do systemu?
Część obiektów pozostawała w pamięci (sporadyczne przypadki, ale jednak). Wyniki testów były konsultowane z MS. Odpowiedź: GC działa, ale jednak warto zachować pewną ostrożność.
Tzn. pamięć nie była kompaktowana? (czy też używana ponownie - nie wiem jaki tam jest model gc teraz) Jakie zakresy? Da się uziemić więcej niż 1MB? Sytuacja powtarzalna? DOS?
Z krzesła proponuję nie spadać - lepiej się go mocno złapać, żeby się później nie dziwić. :)
W jednym z największych VM znaleźliście potwierdzonego buga o którym praktycznie nikt nie wie. Trochę to dla mnie dziwne, że jeszcze się informacja nie rozniosła.... (kiedyś Eric Gunnerson zdaje się potwierdził jakiegoś buga GC, ale to było .net1.1 dawno temu - strzelam, że to nie o tego chodzi)
Tak jak napisałem wcześniej - odsetek, w którym GC nie działa (lub raczej działa nie do końca poprawnie) jest minimalny, ale istnieje.
No niestety ta informacja jest... bezużyteczna sama z siebie :( Macie publiczne test-case'y? Jakiś reference do rozmowy z MS? Bo jak nie wiadomo, czy to ten bug, albo kiedy się uruchamia, albo przynajmniej nie jest to informacja od developerów z MS, to dla równie dobrze bug może nie istnieć i możemy powrócić do normalnego życia...
Szymon L.

Szymon L. Software /
Automation Engineer

Temat: czemu .NET?

Jacek no i na co się zdecydowałeś?

Pozdrawiam,
SL
Jacek K.

Jacek K. Software Developer,
Telecetera Ltd.

Temat: czemu .NET?

Szymon Leja:
Jacek no i na co się zdecydowałeś?

Pozdrawiam,
SL
w sumie zdecydowany bylem od samego poczatku, potrzebowalem tylko profesjonalnego potwierdzenia
a przy okazji rozwinal sie ciekawy watek :D
Kazimierz Kuta

Kazimierz Kuta Microsoft MVP

Temat: czemu .NET?

testowanie elementów współpracy z Oracle...

Z tego co pamiętam połączenia z bazą należą do kategorii obiektów niezarządzanych. O nie nie dba GC a programista. Założenie, że nie dasz rady spowodować wycieków pamięci bo masz od tego GC jest naiwne. Poleganie w takich przypadkach na finalizatorach nie jest najlepszym wyjściem, bo nie masz pewności kiedy i czy w ogóle finalizator będzie wywołany.

Pytania:

1) czy programista wykorzystując zasoby systemowe, takie jak połączenie z bazą danych, pamiętał o ich zwolnieniu (Dipose())?

2) czy programista piszący "elementy współpracy z Oracle" prawidłowo zaimplementował zwalnianie zasobów systemowych (dispose pattern)?

konto usunięte

Temat: czemu .NET?

Słusznie, podpisuję się pod pytaniami, bo być może będzie trzeba się niezwłocznie przesiąść na JAVĘ :-), a tak na serio jak rozwiązaliście problem?
Jacek K.

Jacek K. Software Developer,
Telecetera Ltd.

Temat: czemu .NET?

..:
czy dolaczenie wersji instalacyjnej mojej aplikacji instalatora platformy .NET nie stworzy zadnych problemow licencyjnych?

Następna dyskusja:

Poznańska Grupa .NET




Wyślij zaproszenie do