[ Vlajkovic @ 15.01.2004. 23:34 ] @
Na ovoj temi: http://www.elitesecurity.org/tema/39480 zatrazio sam pomoc za izbor jezika za desktop aplikacije za rad sa bazama podataka. U pitanju je bilo dvoumljenje izmedju perla i c#-a.Iako mi se perl vise svidja (besplatan je, pravljenje aplikacija za vise OS-eva i sl) ipak nakon nekoliko malih proba nisam zadovoljan mogucnostima koje pruza prevashodno u lakoci i brzini kreiranja korisnickih interfejsa i sl.E sad moje pitanje je sledece.
Koliko je adekvatno ( lakoca, brzina razvoja, podrzanost i sl) razvijati neku destop aplikaciju sa pristupom bazi u c#-u. npr neki program za video klub finansijsko knjigovodstvo i sl. Ovo pitam iz razloga jer sam primetio da se za razvoj ovakvih aplikacija uglavnom forsira VB i Delphi. Da ne bih zapocinjao flame na vecitu temu VB vs. Delphi ogranicicu pitanje - zasto je VB bolji (ili nije ) za razvoj ovakvih aplikacija od c#-a ili VB.NET-a , i postoje li u ovom segmentu znacajne razlike izmedju C#-A i VB.Net-a.Zamolio bih one koji se malo bolje razumeju , pod pretpostavkom da jednako dobro vladaju VB-om VB.NET-om i C#-om da kazu u cemu bi oni od ova tri razvijali neku takvu slicnu aplikaciju i zbog cega?
Drugo pitanje se odnosi na baze. Npr. za neki program napravim neku bazu sa vise tabela. Da li se ovde zavrsava sav posao u okviru programa za rad sa bazom (Access, MSSQL) a sve ostalo sto mi treba obavljam u oviru prog.jezika kojim radim aplikaciju i SQL naredbi ili je potrebno stvarati neke veze i sl za tabele u samom ACCESSu na primer ?

Valjda sam uspeo da budem dovoljno jasan , a ne zamerite ako sam u okviru svojih pitanja izvalio i neku glupost jer se da zakljuciti da nisam strucan u ovome.
[ Dragi Tata @ 16.01.2004. 06:25 ] @
Probaću da budem krajnje kratak i objektivan:

1) Perl je dobra alatka za neke stvari (pre svega za automatizaciju administracije na *nix sistemima), ali ne i za ovo što ti tražiš. Što se tiče argumenta da je besplatan, besplatan je i .NET SDK (bez Visual Studija, naravno).

2) VB6 je dosta dobar RAD alat, a programi razvijeni u njemu rade i na relativno slabijim mašinama. Problem je što Microsoft polako napušta tu tehnologiju u korist .NET-a, pa se na duži rok ne isplati ulagati previše truda. O Delphiju nažalost ne znam gotovo ništa, pa ti savetujem da to pitanje postaviš na forumu za Delphi/Pascal, osim ako se ne javi naš prijatelj zombie sa svojim cenjenim mišljenjem :)

3) C# vs VB.NET: u principu je sasvim svejedno. U oba slučaja je problem što .NET aplikacije zahtevaju prilično jak hardver da bi radile kako treba, pa se za sada uglavnom koriste za server-side (ASP.NET). Uglavnom, to je budućnost za MS platforme, a postoje i neki pokušaji da se .NET prebaci i na *nix platforme, mada sam za sad prilično sumnjičav što se toga tiče.
[ Reljam @ 16.01.2004. 08:05 ] @
Samo da dodam nesto: ako si dosao na izbor izmedju C# i VB.NETa, dakle dva .NET jezika, onda bolje izaberi C#. C# ima mnogo cistiju sintaksu, i u njemu mogu da se rade neke stvari koje ne mogu u VB.NETu. Takodje, C# je namenjen da zameni VB.NET, tako da ako vec ulazes u nesto, onda ulazi u ono sto ce (uz malo srece) duze da traje.
[ alex @ 16.01.2004. 10:15 ] @
Citat:
Dragi Tata:
Što se tiče argumenta da je besplatan, besplatan je i .NET SDK (bez Visual Studija, naravno).


Ja bih samo dodao da ne samo sto je .NET SDK besplatan, vec postoji i besplatan IDE za C# i VB.NET:

#develop (SharpDevelop)
http://www.icsharpcode.net/OpenSource/SD/Default.aspx

Odlicna alatka, okruzenje je veoma slicno VS.NET okruzenju, brzo je i stabilno - i sto je najlepse, uradjeno kompletno u C# :)
[ Željko @ 16.01.2004. 12:22 ] @
Citat:
Reljam:
C# ima mnogo cistiju sintaksu, i u njemu mogu da se rade neke stvari koje ne mogu u VB.NETu.


Molim te da li mozes da nabrojis par stvari koje mogu da se urade u C#-u a ne mogu u VB.Net-u?

pozdrav Željko
[ Dragi Tata @ 16.01.2004. 16:06 ] @
Citat:
alex:

Ja bih samo dodao da ne samo sto je .NET SDK besplatan, vec postoji i besplatan IDE za C# i VB.NET:

#develop (SharpDevelop)


Mislio sam da je #develop samo editor, ali vidim da sam se prevario.
[ markom @ 16.01.2004. 16:18 ] @
Ja kao veliki Windows i C# ljubitelj i programer ;-) sam danas skinuo #develop i moram priznati da sam prilično prijatno iznenađen kako i nama stručnjacima izgleda i radi...

Marko.
[ Boris Stevanovic @ 16.01.2004. 17:38 ] @
Mada ako mozes da nabavis Visual Studio ne ustrucavaj se ni malo.
[ vladeck @ 16.01.2004. 20:50 ] @
mozda open-source resenje za C#?

www.go-mono.com
[ caboom @ 16.01.2004. 21:14 ] @
Citat:
Željko:
Molim te da li mozes da nabrojis par stvari koje mogu da se urade u C#-u a ne mogu u VB.Net-u?

pozdrav Željko


Na stranu zezanje, uprkos prvobitnom skepticizmu i otvorenom pljuvanju u stilu "ma sta je to opet m$ izmislio java-u" posto sam prodzarao malo kroz c# i igrao se sa winforms-om moram da priznam da je .NET odista dobar framework. subjektivno gledano meni se zaista dopada C#/.NET, a stvarno mi se poodavno nije dopalo nesto iz m$ kuhinje.

Citat:
vladeck:
mozda open-source resenje za C#?

www.go-mono.com


mono je nazalost jos uvek prilicno nedorecen i manje-vise neupotrebljiv. postoji jedan zanimljiv komercijalni proizvod iz mainsoft kuhinje (oni su radili na portovanju explodera na slovaris ako se ne varam), u pitanju je mainwin:

http://www.mainsoft.com/products/index.html

mozda nekome bude korisno...

[Ovu poruku je menjao Dragi Tata dana 16.01.2004. u 16:33 GMT]
[ alex @ 16.01.2004. 21:29 ] @
Citat:


Koliko vidim na pocetku, pitanje je upuceno za razvoj desktop aplikacija, a po recima autora Mono projekta, implementacija System.Windows.Forms jos uvek nije zavrsena, tako da je Mono neupotrebljiv za desktop aplikacije.

Ipak, pratim Mono projekat sa velikim iscekivanjem jer ce to znaciti da ce .NET aplikacije na Linux sistemima raditi isto kao i na Windows sistemima.

Poz,
alex.
[ spartak @ 16.01.2004. 21:32 ] @
@Željko:

Salu na stranu, to u najmanju ruku nesavrsenstvo je dozivelo portovanje na .NET samo zbog toga da masa skriptera ne bi batalila ovo i presla na delphi. Secam se procena od pre par godina, i iznenadnog interesovanja M$ vb6 ljudi za Delphi kada se jedno vreme pricalo o tome da bi VB mogao biti napusten ili tako nesto slicno... Microsoft je doobrano u to vreme racunao strategijski da li vise vredi budzenje toga na silu ili gubitak n_desitina_hiljada programera.

Ako nekog ne mrzi, siguran sam da cak moze da izgugla milion clanaka na temu: "Is Delphi better solution for VB coders future" i slicno.

Imam osecaj da je VB.NET tu samo iz politickih razloga da bi se zadrzali svi ti ljudi i polako usmerili na C#, sto se i desava. Vise je i knjiga, i primera i svega ostalog vezano za C#. Ili tripujem?

@caboom:
Isto to sam i ja pomislio i pre pojavljivanja prvih verzija .NET-a: "Ovi su marnuli Java2 platformu i sad ce samo da je upicane.... to ce biti novi mainstream". Secas se i sam da sam to drvio naokolo (a nisu me placali iz M$) :-)

[Ovu poruku je menjao Dragi Tata dana 16.01.2004. u 16:34 GMT]
[ -zombie- @ 16.01.2004. 21:57 ] @
kako me je tatica prozvao, morao sam da se javim na ovoj temi :-P

Citat:
caboom:
na stranu zezanje, uprkos prvobitnom skepticizmu i otvorenom pljuvanju u stilu "ma sta je to opet m$ izmislio java-u" posto sam prodzarao malo kroz c# i igrao se sa winforms-om moram da priznam da je .NET odista dobar framework. subjektivno gledano meni se zaista dopada C#/.NET, a stvarno mi se poodavno nije dopalo nesto iz m$ kuhinje.


definitivno je dosta ljudi koji khm, "ne obožavaju" MS izjavila nešto slično (me included). sve mi se čini da je MS konačno našao način da "udovolji" developerima. značajan deo .net kampanje je i bilo okrenuto ljudima iz industrije, što (bar delom) znači da su uspeli da nam prodaju svoju priču. ;)

moram da primetim da to definitivno ima dobrih strana za sve nas, ali kako će sve to na kraju ispasti?..

:-P
[ caboom @ 16.01.2004. 22:02 ] @
Citat:
spartak:
Imam osecaj da je VB.NET tu samo iz politickih razloga da bi se zadrzali svi ti ljudi i polako usmerili na C#, sto se i desava. Vise je i knjiga, i primera i svega ostalog vezano za C#. Ili tripujem?


ne bih rekao da tripujes posto postoje horde vb programera-a koji bi se osecali verovatno prilicno izdani ukoliko bi m$ odlucio da napusti vb ostrim rezom.

Citat:

Isto to sam i ja pomislio i pre pojavljivanja prvih verzija .NET-a: "Ovi su marnuli Java2 platformu i sad ce samo da je upicane.... to ce biti novi mainstream". Secas se i sam da sam to drvio naokolo (a nisu me placali iz M$) :-)


sve je to zavera. ;) secam se kada smo pricali tek kada se c# pojavio i stvarno je izgledalo kao da m$ ponovo silji kao sa j++-om, ali poenta je zapravo u .NET framework-u koji je bas lepo upakovan za ono za sta je namenjen, c# ko' c#, nista sto nije vec vidjeno. evo, ja recimo ne volim MFC (tacnije uopste ga ne volim, pobegao sam od njega pre 3-4 godine i ne zelim vise da se druzim sa njim osim ako nisam bas prisiljen, naravno ovo je sasvim subjektivno), dok mi sasvim prija druzenje sa .NET-om.

Citat:
-zombie-:
moram da primetim da to definitivno ima dobrih strana za sve nas, ali kako će sve to na kraju ispasti?..


nastupice period mraka i beznadja?

[Ovu poruku je menjao caboom dana 17.01.2004. u 00:07 GMT]

[Ovu poruku je menjao Dragi Tata dana 16.01.2004. u 16:35 GMT]
[ degojs @ 16.01.2004. 22:04 ] @
Moja preporuka između C# i VB.NET: C#, a ako zatreba, lako ćeš posle da koristiš i bilo koji drugi .NET jezik. Ja sam prvo više koristio VB.NET, a sad koristim skoro isključivo C#. Kad naučiš oba, a to zaista nije problem, nekako više nećeš ni razmišljati "C# ili VB.NET". Što se razlika tiče, ima ih, ali su sa stanovišta upotrebljivosti jednog i drugog, minorne.

@spartak:
odakle te informacije?
Uz sve dužno poštovanje prema Delphi-ju, on nije konkurencija Visual Basic-u, a rekao bih da nikad nije ni bio. Ovde malo ljudi uopšte i zna za njega, tako da manite se tih priča da bi ljudi masovno prešli na Delphi, itd, itd. To su nije desilo čak ni kada je objavljen VB.NET, a klasični VB praktično poslat u penziju. Ne znam nikog ko je sa VB "prešao" na Delphi umesto na recimo C#, VB.NET ili čak C++. Napredne mogućnosti Delphi-ja ne znače mnogo korisnicima VB, nisu presudne kod ovakvog okruženja, niti ga (VB) je neko izabrao na početku zbog toga. Ima ljudi koji jednostavno vole neke druge stvari kod istog: nema tačka-zarez na kraju, nema razlike između malih i velikih slova, jednostavnost, brzina pravljenja aplikacija, samo radno okruženje i slično tome. Uz sve to, neki su naučili i VBScript prvo, koristeći ASP. Literatura je posebna priča.

Citat:
ne bih rekao da tripujes posto postoje horde vb scripter-a koji bi se osecali verovatno prilicno izdani ukoliko bi m$ odlucio da napusti vb ostrim rezom.

A ovo kao nije bio oštar rez? Sa VB na VB.NET? Možemo da kažemo da nije oštro samo ako su aplikacije na nivou kalkulatora i malo komplikovanije od toga. Kako rekoh ima ljudi koji vole baš BASIC sa njegovim karakteristikama i oni će i rado da koriste VB.NET, pogotovo pošto je po mogućnostima praktično jednak sa C#.
[ caboom @ 16.01.2004. 22:40 ] @
Citat:
degojs:
A ovo kao nije bio oštar rez? Sa VB na VB.NET? Možemo da kažemo da nije oštro samo ako su aplikacije na nivou kalkulatora i malo komplikovanije od toga. Kako rekoh ima ljudi koji vole baš BASIC sa njegovim karakteristikama i oni će i rado da koriste VB.NET, pogotovo pošto je po mogućnostima praktično jednak sa C#.


mnogo manje ostar nego da si presekao i izostavio magicnu rec VB. navikli ovim da ih bijem... mislim da je bas lepo sto ima ljudi koji vole basic, ali eto ja ga npr. ne volim. cak mi je tesko da shvatim VB kao programski jezik. prema svemu sto vidim VB je nesto sto m$ (verovatno ne bez razloga) nastoji da ostavi iza sebe.
[ spartak @ 16.01.2004. 22:47 ] @
@degojs:

Moja prababa Sara se iz Gojsevica udala nekada ihaaj davno - no sve jedno ja sam vaspitan da se nikad ne prepirem sa rodbinom :-)

Slazem se sve price o prognozama mogu da se svedu na spekulacije. Sve sto sam ispricao su informacije koje sam pokupio prateci vesti sve ovo vreme. Primarna orijentacija mi je bio Delphi.. negde do pred verziju 5. Onda sam presao na Java (ne racunajuci ostale stvari nevezane za ovu pricu) i kada se pojavio .NET jedno vreme sam klackao izmedju ta dva dok se definitivno nisam odlucio za .NET kao glavno usmerenje.

Znaci pratio sam i Delphi, i .NET i Java vesti odaaaavno i bez prekida.
[ Dragi Tata @ 16.01.2004. 23:39 ] @
Nećemo da pravimo Advocacy od ovog foruma, pa sam malo "ulepšao" neke poruke, pre svega one koje vređaju VB programere. Predlažem da se uzdržimo i od izraza kao što su "m$" ili "slowlaris".

Hvala.
[ Vlajkovic @ 17.01.2004. 09:07 ] @
Hvala na odogovorima, vidim da se Vasa preporuka za C# salze sa onim sto sam i ja vec nekako odlucio po nekom licnom afinitetu, ali nije na odmet da me uverite da sam u pravu:)

Nego mozda je moje neiskustvo prepreka, ili nisam uspeo dovoljno dobro da postavim pitanje tek cini mi se da vam je srz promakla. A to je - postoji li jos nesto , osim sto je potreban jaci hardware, sto bi moglo umanjiti vrednost C# za razvoj desktop aplikacija za rad sa bazama podataka. Zakljucujem iz vasih odgovora da nema ?!

I naravno ako moze neko i ukratko da mi odgovori na drugo pitanje

Drugo pitanje se odnosi na baze. Npr. za neki program napravim neku bazu sa vise tabela. Da li se ovde zavrsava sav posao u okviru programa za rad sa bazom (Access, MSSQL) a sve ostalo sto mi treba obavljam u oviru prog.jezika kojim radim aplikaciju i SQL naredbi - ili je potrebno stvarati neke veze i sl za tabele u samom ACCESSu na primer?

Ako nisam bio bas jasan probacu drugacije da ga formulisem.

P.S. Drago mi je da vidim da C# hvale i ljudi koji nisu naklonjeni MS alatima. Onda je verovatno dobar izbor.
[ degojs @ 17.01.2004. 09:19 ] @
Citat:
postoji li jos nesto , osim sto je potreban jaci hardware, sto bi moglo umanjiti vrednost C# za razvoj desktop aplikacija za rad sa bazama podataka. Zakljucujem iz vasih odgovora da nema ?!


Ne. Razlog je prost: C# (isto kao i VB.NET) se oslanja na sam .NET pri radu sa bazama podataka, deo koji se zove ADO.NET. Ista stvar je i što se tiče korisničkog interfejsa u aplikacijama.

Citat:
Drugo pitanje se odnosi na baze. Npr. za neki program napravim neku bazu sa vise tabela. Da li se ovde zavrsava sav posao u okviru programa za rad sa bazom (Access, MSSQL) a sve ostalo sto mi treba obavljam u oviru prog.jezika kojim radim aplikaciju i SQL naredbi - ili je potrebno stvarati neke veze i sl za tabele u samom ACCESSu na primer?


Sve zavisi od tebe. Generalno, formiranje tabela (i normalizacija i moguća denormalizacija istih) je samo deo posla. Ostaje ti mnogo toga: indeksi, veze, "pogledi" (views ili queries), uskladištene procedure, itd. - ako se odlučiš za to, a moja preporuka bi bila da to svakako uradiš. Ništa te ne sprečava da koristiš samo "gole" tabele, mada teško da ćeš naći i primer negde da se to praktikuje ili da je takav pristup preporuka, bar za ove baze koje si ti naveo.

Inače, C# je sličan Javi, a donekle sintaksom i sa C i C++, tako da i to može da se uzme kao prednost u odnosu na VB.NET ili Delphi.NET.
[ mmix @ 17.01.2004. 11:18 ] @
Aman ljudi, al se vi isvađaste ovde

C# i VB.NET su 99.9% ISTI. Onaj 0.1% se odnosi na nemogućnost prenosa neinicijalizovanih nizova iz vb.net-a u out parametre u C# metodama, ali to kompajler sam kompenzuje, tako što vam iza leđa incijalizuje niz i na (po meni glupavo ograničenje) to što VB.NET ne može da ima default non-indexed property, što se zaobilazi uvođenjem dummy parametra u indexer.
Čak i generišu isti MSIL kod, i jedini način da ih efektivno razlikujete je posmatranjem MSILa i gledanjem redosleda inicijalizacije delegata, koji se u C# radi kroz kod a u VB.NETu (kao ispomoć VB6 raji) kroz Handles deklaracije (koje kompajler pretoči u inicijalizacioni kod)

Stvar je samo da li više volite simboliku { } ili literarno Sub/End Sub.

Ja inače preferiram C# ali pošto radim za foreignere, oni su teško naloženi na VB.NET iz razloga, pogađate, što znaju VB6 To što su VB6 i VB.NET nebo i zemlja i što bi im isti trud trebao da sa VB6 pređu na C# koliko i da nauče da analiziraju moj VB.NET kod, to im je nevažno. Posledica toga je, nažalost, dosta "VB.NET" programera (a ovo pričam iz sopstvenog sučavanja sa sorsevima takvih aplikacija) koji pišu VB6 kod u VB.NETu, i kojima je OOP koji VB.NET nudi isto toliko stran koliko im je bio i ranije.

Generalno je utisak da MS pokušava da se reši VB.NETa ali im to nije prvi put da se zeznu, inercija je suviše velika i industrija će ih primorati da VB.NET zadrže u fokusu.

[ spartak @ 17.01.2004. 11:52 ] @
Citat:
Vlajkovic:
Drugo pitanje se odnosi na baze. Npr. za neki program napravim neku bazu sa vise tabela. Da li se ovde zavrsava sav posao u okviru programa za rad sa bazom (Access, MSSQL) a sve ostalo sto mi treba obavljam u oviru prog.jezika kojim radim aplikaciju i SQL naredbi - ili je potrebno stvarati neke veze i sl za tabele u samom ACCESSu na primer?


I pristup golim tabelama, i odradjivanje dela posla na samoj bazi imaju svoje prednosti i mane. Za pocetak toplo ti preporucujem wrox knjigu "Beginning C# Databases" koja postoji i u CET-ovom prevodu. Cak i sam prevod za promenu nije rogobatan.
[ spartak @ 17.01.2004. 11:57 ] @
Citat:
mmix:
C# i VB.NET su 99.9% ISTI.


Upravo u tome i jeste stvar. C# i VB.NET su toliko slicni. A VB6 i VB.NET su dosta razliciti. Nije main issue u tome da li prva dva lice, nego zasto se Microsoft archio da napravi Frankenstajna kad je vec ima C#....

Zato da ne bi pogubio skriptere koje je sad stapom i sargarepom uvukao u .NET svet gde se muche isto kao i C# da su ucili. Na to sam mislio
[ degojs @ 17.01.2004. 17:54 ] @
Citat:
mmix
Stvar je samo da li više volite simboliku { } ili literarno Sub/End Sub.

Tačno. Čudno je kako ljudi zbog ovakvih stvari pričaju svašta na račun onog što se njima ne sviđa.

Citat:
spartak
Generalno je utisak da MS pokušava da se reši VB.NETa ali im to nije prvi put da se zeznu

Ma, otkud taj utisak? Osim ako nije zbog ovog što je Relja rekao. Iskreno, meni je ovo prvi put da čujem nekog iz Microsoft-a da ovako nešto izjavljuje u pogledu budućnosti VB.NET-a. Svakako, ako je to zaista validna informacija, ona nema šta da se misli.

Citat:
nego zasto se Microsoft archio da napravi Frankenstajna kad je vec ima C#....

Iz istog razloga iz kog su objavili svojevremeno i Visual Basic, a dobar deo ljudi imao ovakve komentare kao što ti imaš. I svi mu prognozirali propast i ismejavali isti. Kupci su posle rekli drugačije.

Ovde je situacija slična kao sa operativnim sistemima - na Visual Basic(.NET) se žale uglavnom ljudi koji ga ne koriste. Da stvar bude još gora, C# i VB.NET su toliko izjednačeni da su komentari malo čudni.

Živi bili pa videli, moja ocena je da VB.NET neće skoro da nestane, ako se to uopšte i desi.
[ Reljam @ 17.01.2004. 19:29 ] @
Citat:
degojs:Osim ako nije zbog ovog što je Relja rekao. Iskreno, meni je ovo prvi put da čujem nekog iz Microsoft-a da ovako nešto izjavljuje u pogledu budućnosti VB.NET-a.
Nemoj tako Degojs, ajde da se igramo fer. Nikad ja nisam tvrdio da reprezentujem bilo sta ili koga, ovo su samo moji licni pogledi na stvar, itd.

E sad, evo mog (i samo mog!) vidjenja ove svari:

Ako pogledamo spektar softvera, sa jedne strane imamo low level development (drajveri, OS, itd.) a sa druge vrlo high level stvari kao sto je automatizacija i skriptovi. Recimo to mozemo da ilustrujemo ovako:

0 <--- 1 --- 2 --- 3 --- 4 --- 5 ---> 6
0 - Drajveri, Kernel
1 - Delovi OSa
2 - Velike aplikacije (Office, 3DS, Maya)
3 - Manje aplikacije
4 - Interni softver (softver za vodjenje poslovne evidencije)
5 - Automatizacija softvera
6 - Trivijalni programi i skripte

[Ocigledno je ovo samo okvirna tabela i stvari nisu toliko jasno razgranicene].

- Jezik C/C++ moze da se koristi na svim nivoima, vrlo je univerzalan, ali nije najbolje prilagodjen visim nivoima. U prakticnoj primeni koristi se u rasponu od 0 do 4.
- VB moze da se koristi na nivoima 3 do 6.
- C# moze da se koristi na nivoima 2(*) do 6.

VB i C# se skoro potpuno preklapaju i zbog toga jedan od ta dva je visak. Posto se vise ulaze u C#, a i moderniji je jezik (generics, sintaksa), ono sto ja ocekujem da ce da se desi je da se VB potisne u raspon 4-6, a kasnije i 5-6. Ovo se naravno nece desiti sutra, vec je proces koji ce trajati godinama. Stvar se svodi na to da je VB.NET tu kao upgrade path sa VBa na C#. Oni koji vec imaju VB.NET aplikacije mogu slobodno da nastave da ih koriste, ali zato oni koji pisu nove aplikacije bi trebali da izaberu C# kao jezik.

Ponavljam, ja stvarno nemam mnogo veze sa svim ovim, niti znam nesto sto vi ne znate, ovo su samo moja zapazanja.

---

(*) - trenutno se vrste ispitivanja da se C# koristi na drugom nivou. To naravno nije za danasnji hardver, niti je sigurno da ce uspeti, ali recimo da kazemo da se tome tezi.
[ degojs @ 17.01.2004. 20:23 ] @
Relja, ispade onako kako je napisano, ali nije baš jednostavno, pošto uvek pomislim da znaš nešto što mi ne znamo :)

Nego, sve to može i da bude tako - da će da dođe do podele pri čemu će C# da bude zadužen za mnogo naprednije stvari. I o tome se mnogo pričalo već za sledeću verziju i šta se onda desi - negde ispadne i vest da VB.NET dobija Code Generics, što mi baš ne izgleda kao razvoj u tom smeru. Te sam stoga i odbacio onakve priče. No dobro, možda je zaista još rano za sve to.
[ Reljam @ 17.01.2004. 20:32 ] @
Iskreno, ne bi me cudilo da i VB dobije genericse, i dalje postoji dosta ljudi koji koristi VB.NET i ne treba njih nasilno terati da menjaju jezik. Ali sa druge strane, to ipak mora nekako da se resi, neefikasno je paralelno drzati dva jezika koja su jako slicna. Videcemo, bice zanimljivo.
[ Vlajkovic @ 17.01.2004. 20:33 ] @
Hvala vam , prilicno su mi pomogli vasi odgovori , nadam se da cete biti ovako predusretljivi i kada mi bude zatrebala konkretna pomoc na nekom C# problemu :)
[ degojs @ 17.01.2004. 21:40 ] @
E, mi mnogo volimo da se javljamo kad je priča ovako "neobavezna" :)


Sudeći po onom što je na MSDN, Code Generics su definitivno deo sledeće verzije VB.NET-a, iako to nisu stavili u Top 10 :). Međutim ima npr. ovde http://msdn.microsoft.com/vbasic/whidbey/ kao i na msdn.microsoft.com/dotnetrocks (emisija 37 gde su gosti bili ljudi koji prave VB.NET kompajler :)

Boga mi, ako se pogleda ova stranica tamo, pa još i pročitaju dokumenti, ja ću još i da razmislim da se "vratim" na VB.NET. Najozbiljnije, po ovome tamo još će da ispadne upravo obrnuto - da VB.NET napreduje i u jednom i u drugom smeru, te će pitanje da bude: može li C# da izdrži poređenje sa VB.NET? :)

Pored što VB.NET dobiva code generics, operator overloading, XML komentare, unsigned tipove i još neke naprednije mogućnosti koje nije imao, sa druge strane dolaze stvari kao Edit-And-Continue, My namespace, itd.

Posebno je zanimljivo u vezi My namespace:

By using My you have the ability to easily access computer, application, and user information, as well as obtain access to forms, and web services. It is important to understand that My is only accessible to you when writing Visual Basic.NET applications and is not directly available to you when using C#.

Tako dobivate mogućnost da:
"My.Computer.Network.Ping, which allows you to ping a computer on the network with a single line of code."

Kako rekoh, blago meni, pa mogu da se služim i jednim i drugim :)
[ -zombie- @ 17.01.2004. 23:18 ] @
Citat:
degojs:
sa druge strane dolaze stvari kao Edit-And-Continue


jedna jedina stvar koja mi se svidela kod VBa. ;) mislim, naravno da nije ništa revolucionarno, ali može da uštedi dosta vremena ;)

btw baš me zanima kako su je implementirali u VB.NET, kad je on ipak "kompajliran" jezik (ili jeste?).
[ Dragi Tata @ 18.01.2004. 04:45 ] @
Citat:
degojs:
Boga mi, ako se pogleda ova stranica tamo, pa još i pročitaju dokumenti, ja ću još i da razmislim da se "vratim" na VB.NET. Najozbiljnije, po ovome tamo još će da ispadne upravo obrnuto - da VB.NET napreduje i u jednom i u drugom smeru, te će pitanje da bude: može li C# da izdrži poređenje sa VB.NET? :)


Iskreno, meni se VB.NET više dopada nego C#. Mogućnosti su im praktično iste, a VB.NET je dosta čitljiviji (END FOR vs }, na primer). C# koristim jer sam se previše "navukao" na C-like sintaksu, a i u firmi je donesena odluka na "višem" nivou da se za .NET aplikacije koristi C#. Osim toga, prednost C#-a je i to što je standardizovan kod ECMA-e, za razliku od VB-a, pa je manja verovatnoća da MS napravi neki "šok prelaz", kao sa VB6 na VB.NET.
[ Dragi Tata @ 18.01.2004. 05:10 ] @
Citat:
Reljam:

Ako pogledamo spektar softvera, sa jedne strane imamo low level development (drajveri, OS, itd.) a sa druge vrlo high level stvari kao sto je automatizacija i skriptovi. Recimo to mozemo da ilustrujemo ovako:

0 <--- 1 --- 2 --- 3 --- 4 --- 5 ---> 6
0 - Drajveri, Kernel
1 - Delovi OSa
2 - Velike aplikacije (Office, 3DS, Maya)
3 - Manje aplikacije
4 - Interni softver (softver za vodjenje poslovne evidencije)
5 - Automatizacija softvera
6 - Trivijalni programi i skripte

- Jezik C/C++ moze da se koristi na svim nivoima, vrlo je univerzalan, ali nije najbolje prilagodjen visim nivoima. U prakticnoj primeni koristi se u rasponu od 0 do 4.
- VB moze da se koristi na nivoima 3 do 6.
- C# moze da se koristi na nivoima 2(*) do 6.

VB i C# se skoro potpuno preklapaju i zbog toga jedan od ta dva je visak.


Ova analiza mi se jako dopada i mislim da itekako ima smisla. Jedino bih dodao da su C# i VB najupotrebljiviji za 3 i 4, a za 5 i 6 su već pomalo "teška artiljerija". Rekao bih da nam nedostaje jedan lep scripting jezik kao što je npr Python za ove nvoe. Naravno, postoji JScript .NET, ali ga MS nešto slabo promoviše, a i slabo je dokumentovan. Probao sam nedavno da pravim neke skripte u JScript.NET-u za naš QA, ali sam se totalno pogubio i na kraju rešio da koristim C#, sa sve klasama, statičkim tipovima i ostalim "čekićima" koji su za ovakve stvari otpuno nepotrebni i oduzimaju vreme.
[ degojs @ 18.01.2004. 07:40 ] @
Citat:
zombi
btw baš me zanima kako su je implementirali u VB.NET, kad je on ipak "kompajliran" jezik (ili jeste?).


Our old friend Edit and Continue is back. E&C worked just fine during the demo. I'm amazed that it does. It's staggering to think how complex the code has to be to make that feature work in .NET.

(VB.NET, kao i C#, se prevodi u MSIL - neka vrsta pseudo asemblerskog koda i to se onda distribuira dalje kao gotova stvar. Kad se ta aplikacija pokrene onda JIT kompajler stupa na scenu i taj kod kompajlira u prave x86 instrukcije. Čini mi se da je tako :)

Citat:
jedna jedina stvar koja mi se svidela kod VBa. ;) mislim, naravno da nije ništa revolucionarno, ali može da uštedi dosta vremena ;)

A tek ovo.. :

Now we move on to debugging, that part of the development process where most developers spend the bulk of their time. My favorite new feature for debugging involves the Immediate window. Jay wrote a method and then immediately invoked it from the Immediate window. No breakpoints, no F5, no Ctrl+Shift+B, just a ? <methodName>. This is fantastic feature. You can get instant feedback on whether you're on the right track with your code without resorting to setting breakpoints and running in debug mode or building test harnesses.

Više datalja ovde (blog je malo stariji - septembar 2003).

Ne znam šta da kažem, osim da se složim sa Reljom: biće zanimljivo - od novog Visual Studija, preko novog SQL Server-a koji bi trebao da podrži interno .NET, pa sve do novog Windows-a: Longhorn.
[ -zombie- @ 18.01.2004. 13:22 ] @
Citat:
degojs:
(VB.NET, kao i C#, se prevodi u MSIL - neka vrsta pseudo asemblerskog koda i to se onda distribuira dalje kao gotova stvar. Kad se ta aplikacija pokrene onda JIT kompajler stupa na scenu i taj kod kompajlira u prave x86 instrukcije. Čini mi se da je tako :)


da, znam sve to. zato sam se i čudio (kao i taj tip) kako su implementirali tu funkciju.. mogu samo da zamišljam koliko je komplexno..

definitivno zajebanije od ovog sledećeg:

Citat:

Now we move on to debugging, that part of the development process where most developers spend the bulk of their time. My favorite new feature for debugging involves the Immediate window. Jay wrote a method and then immediately invoked it from the Immediate window. No breakpoints, no F5, no Ctrl+Shift+B, just a ? <methodName>. This is fantastic feature. You can get instant feedback on whether you're on the right track with your code without resorting to setting breakpoints and running in debug mode or building test harnesses.


da, ovo sve očigledno vuče u desno, ka reljinim višim nivoima programiranja, automatizaciji i skript jezicima. recimo, ovo je standardna funkcija python interpretera već neko vreme..

no, izgleda da je C# kao "ozbiljniji" jezik, više po ukusu programera, ali da se vb IDE brže razvija.. šta je bitnije?
[ Dragi Tata @ 18.01.2004. 17:38 ] @
Edit & Continue postoji čak i u VC++u i to poodavno, pa ne znam zašto bi bio problem da se tako nešto napravi i za VB/C#.
[ degojs @ 18.01.2004. 20:19 ] @
Citat:
zombie
no, izgleda da je C# kao "ozbiljniji" jezik, više po ukusu programera, ali da se vb IDE brže razvija.. šta je bitnije?


Bitna stvar je naravno i to što je poznavanje C#, uglavnom, bolje plaćeno u odnosu na VB.NET. Najveći deo toga je "po inerciji". Šta da se radi, pa onda što da radiš istu stvar za manje pare? Pare nekim ljudima jesu ozbiljna stvar :)

Ma sve ovisi prvo imaš li uopšte slobodu da biraš. A ako imaš, rekao bih da je najbolje koristiti i jedno i drugo, kako kada zatreba. C# će verovatno napredovati više i u smeru onog što je bitno za third-party developer-e (kreiranje komponenti). Bitna stvar za VB.NET je rečena u onoj radio emisiji na koju sam ostavio link: VB.NET neće ostati uskraćen za ništa bitno (stoga i dolaze generics, XML dokumentovanje i ostalo). Razlika će biti, ali nikako ne vidim da će biti onako drastične kao pre.

P.S.
Nego, tek sad vidim da nam je Relja takođe moderator .NET foruma. Neoboriv dokaz: "Pa da, eno ih tamo skupa.. Protuve se okupile na .NET forumu, sve jedan do drugog" :) Posle će da bude kao u Balkanskom špijunu: "Po ceo dan arlauču i zavijaju - meni u inat pevaju, a ON (Relja) im je doneo note."
[ spartak @ 19.01.2004. 14:44 ] @
Citat:
degojs:
Bitna stvar je naravno i to što je poznavanje C#, uglavnom, bolje plaćeno u odnosu na VB.NET. Najveći deo toga je "po inerciji". Šta da se radi, pa onda što da radiš istu stvar za manje pare? Pare nekim ljudima jesu ozbiljna stvar :)


Evo ja cu probati da ti pojasnim tu "inerciju" placanja C# programera. Iskustvo je bazirano na nekoliko razgovora sa poslodavcima koje sam imao pre nove godine, kao i preferenci ovde u firmi za koju sad radim kad su primali nove ljude za .NET department.

Sve se svodi na: ".NET je nova stvar, ako neko kodira C# ili je radio ranije C++ ili Java u 99% slucajeva. Ako neko radi VB.NET u 99% slucajeva je radio VB. Ljudi koji su radili Java ili C++ sigurno nece uzeti da uce VB kad predju na novu platformu, a to su ljudi koji nose 'skuplje' iskustvo vezano za oo programiranje.".

Evo citiracu ti jednog od njih: "Vec imamo negativna iskustva sa ljudima koji se predstavljaju kao .NET programeri a za objekte su culi na TV gde je Button objekat koji im je najvise prirastao za srce"
[ degojs @ 19.01.2004. 20:14 ] @
Pa, ja se sa tim slažem. Mislim da smo se pogrešno razumeli.

Pozdrav :)
[ degojs @ 22.01.2004. 02:05 ] @
One question we hear a lot is: Where are you going with these tools? How are they going to diverge? The root of the question is: Is there something they won't be able to do in VB.NET that they will be able to do in another language such as C#? The answer to that is "no." There are features that one or the other might not have, but the fundamental capabilities will be the same, because they derive from the framework.

What we're really looking at diverging isn't the development capabilities, but the development experience.


Chris Dias is the group program manager for Visual Basic .NET at Microsoft.

http://www.fawcette.com/vsm/2004_01/online/dias/
[ leka @ 25.01.2004. 01:14 ] @
Iz moje perspektive odgovor na pitanje tog coveka sta to ne moze VB.NET
se moze odmah dati - portabilnost. VB sam po sebi radi samo na jednoj
platformi. Da, postoje pokusaji da se napravi VB (.NET) za GNU/* (Linux,
HURD, KFreeBSD) ali to je jos uvek jako nestabilno. Dakle eto, postoji
nesto sto nema VB.NET. C#.NET sa druge strane radi sasvim stabilno i na
dotGNU i u Mono-u, dakle radi na svim platformama na kojima radi dotGNU.
PS. s obzirom da nisam VB(.NET) guru moguce je da nisam upucen u VB.NET
i da moja izjava gore nije tacna, u tom slucaju se izvinjavam...
[ degojs @ 25.01.2004. 01:23 ] @
Na sajtu go-mono.com u delu sa screenshots ima i ova slika uz komentar:

http://www.go-mono.com/images/gtk-vb.png

The Mono Basic compiler ships with the Mono distribution.
Mono Basic running a sample Gtk# application.


Što bi značilo da će i VB.NET da uspešno radi na mono. Nisam gledao mono ozbiljnije (pošto još nije došao do 1.0) pa ni ja ne znam tačno :) Mada, slažem se da je bolje ići sa C# ako je do toga.
[ adnan78 @ 24.05.2004. 22:31 ] @
Da i ja prokomentarisem....

.NET framework je takao napravljen da je nezavistan od jezika... znaci mozes da programiras u "Daska za peglanje++" samo ako kompajler to moze da prevede u CLR, koji se na kraju izvrsava u VM. Sto znaci da su performanse iste.

Ja licno preferiram C#, ali to je vjerovatno zato sto sam vec imao nekog iskustva sa Javom i C++. Inace sva Microsoft dokumentacija je u C# i VB a od skora i j#.
Zgodno (sto i Microsoft preporucuje) je znati i jedan i drugi jezik. Sto i nije neki problem.

Sto se zaposlenja tice, ako kompanija vec posjeduje kod koji ima u VB, glupo bi bilo da ga prvodi u C#, jer to kosta. Im je lakse da zaposle ljude koji znaju VB.

Kad su plate u pitanju, trebalo bi da su priblizno iste.

Sa moje tacke gledista preporucio bih pocetnicima da uce C# jer ce sa njim nesvjesno nauciti i Javu i shvatiti principe C++, JScript itd.

Mislim da je dalji razgovor na ovu temu suvisan.

Eto... nadam se da se slazete...