Programski jezik(i)

darko11

Majstr
21. jul 2007
1.231
216
63
Priporocam ti C#, ki v praksi uvaja Rapid Application Development za C jezik. Sploh, ce nimas izkusenj z objektnim programiranjem.

Sam sem zacel z Delphijem, nato C++, ki je bistveno tezji, zdaj pa C#... V C++ se bos za isto aplikacijo precej bolj namatral...
Drugace pa ti bo C++ koristil za kaksne low level komunikacije, v glavnem je C# razsirjen: zelo preprosto je napisat ASP NET web aplikacijo ali web servis poleg klasicnih dialog based aplikacij...

Veliko pa jih je preslo na Javo - tudi zagrizene C++ firme kot so Hermes, S&T itd.
smirk-1.gif


Veliko uspeha pri ucenju.
wink-1.gif
 

stein

Fizikalc
16. sep 2007
19.575
1
36
C++ proti Javi je kot kot kos kamna proti moderno opremljeni delavnici. (vem iz lastnih bridkih izkušenj)
 

doto

Fizikalc
25. jul 2007
3.175
0
36
hysterical-1.gif


Java proti c++ nima za burek. Seveda govorimo o programskem jeziku in ne knjižnicah ki pridejo z JRE ali v primewru C# z .NET frameworkom. Še vedno pa svari, ki jih lahko delaš s C++ v javi niti sanjati ne moreš.

Res pa je, da je treba uporabiti pravo orodje za posamezni problem Pisanje poslovnih in spletnih aplikacij v C++ je velika potrata časa, ker se mortaš ukvarjati s stvarmi, ki jih drugače že nudi JRE ali .Net. Traba je samo par xml-ov skonfigurirati. Avtor teme je pa omenil, da bo študiral elektro. Jave in .Neta na mikroprocesorjih ni. Tu še vedno kraljuje asembler. V najboljšem primeru lahko uporabiš C (ne C++ !).
 

mihi

Pripravnik
14. apr 2008
222
0
16
C++ je za začetnike povsem neprimeren, ker je kompliciran tudi za že preizkušene maherje in s kazalci ter eksplicitnimi destruktorji tudi nepredvidljivo zahrbten.

Java in C# sta nekoliko boljša, čeprav izhajata iz dediščine C++. Oba sta v istem rangu in imata sintakso skoraj identično.

Svež veter pa predstavljajo moderni jeziki kot so Python ali Ruby, s katerimi je res užitek delati.

.NET okolje je multijezikovno in dopušča enostavno mešanje kode v večih jezikih.
Kompleksnejše zadeve rešiš naprimer v Pythonu, performančno kritične odseke pa v C# vse to pa delaš kar z istim RAD orodjem.
 

stein

Fizikalc
16. sep 2007
19.575
1
36
Govoril sem za primer "preproste" PC aplikacije.
Že polinkat dva kosa kode je mala diplomska naloga. V Javi je to kvečjemu kopiranje fajla v mapo (ali nastavitev poti).
 

doto

Fizikalc
25. jul 2007
3.175
0
36
Ja sam to ni problem jezika kot takega. To je problem prevajalnikov in knjižnic.

Sicer pa sedaj živimo v času, ko visual studio poneumlja programerje. Intelisense naredi začetniku več škode kot koristi. Včasih je programer za vsak class prebral dokumentacijo, da je našel primerne metode. Sedaj pa samo preleti razultate intelisensa in izbere tisto , ki se mu zdi najbolj primerna. S tem iz helpa ne dobi vseh informacij, kako se ta metoda obnaša v posebnih primerih. Kaj se zgodi ob napakah, kar pričakuje kot vhod. Posledično ne predvidi mejnih situacij zaradi česar so potencialni bugi v programih.
 

Ares

kamikaza
19. jul 2007
4.622
0
36
Citat:
Uporabnik futuristic pravi:
Poslovne aplikacije. Če znaš C# in bi lahko delal v LJ mi pošlji PM.

delam že v LJ. Outsourcing ni opcija?
Nekako se osamosvajam, ker imam kar lepo število projektov že v outsourcingu in mi tako delo ful odgovarja.

ps:
katere .net komponente pa uporabljate?
 
Nazadnje urejeno:

jtfc

Guru
Izključen uporabnik
24. jul 2007
19.994
2.720
113
Citat:
Uporabnik darko11 pravi:
Priporocam ti C#, ki v praksi uvaja Rapid Application Development za C jezik. Sploh, ce nimas izkusenj z objektnim programiranjem.

Sam sem zacel z Delphijem, nato C++, ki je bistveno tezji, zdaj pa C#... V C++ se bos za isto aplikacijo precej bolj namatral...
Drugace pa ti bo C++ koristil za kaksne low level komunikacije, v glavnem je C# razsirjen: zelo preprosto je napisat ASP NET web aplikacijo ali web servis poleg klasicnih dialog based aplikacij...

Veliko pa jih je preslo na Javo - tudi zagrizene C++ firme kot so Hermes, S&T itd.
smirk-1.gif


Veliko uspeha pri ucenju.
wink-1.gif

Knjige? na muli ali mininovi ni nikjer nič... od c++ jih je vsaj 5.
 

stein

Fizikalc
16. sep 2007
19.575
1
36
Citat:
Uporabnik doto pravi:
Ja sam to ni problem jezika kot takega. To je problem prevajalnikov in knjižnic.
Žal delam z uporabo prevajalnika in knjižnic.
wink-1.gif


Citat:

Sicer pa sedaj živimo v času, ko visual studio poneumlja programerje. Intelisense naredi začetniku več škode kot koristi. Včasih je programer za vsak class prebral dokumentacijo, da je našel primerne metode. Sedaj pa samo preleti razultate intelisensa in izbere tisto , ki se mu zdi najbolj primerna. S tem iz helpa ne dobi vseh informacij, kako se ta metoda obnaša v posebnih primerih. Kaj se zgodi ob napakah, kar pričakuje kot vhod. Posledično ne predvidi mejnih situacij zaradi česar so potencialni bugi v programih.
Se strinjam. V Eclipse ti recimo zraven takoj dokumentacijo metode napiše.

Ko smo pri projektu izbirali programsko okolje, bi se moral do krvi boriti za Javo ...
wink-1.gif
 

mtey

Pripravnik
30. nov 2007
742
0
16
po nasvetu hovija kupil knjigo

Že problem! Da se ne trudim preveč bom kar tukaj vprašal.

Imam visto (
uf-1.gif
). Inštaliral sem Borlandov compiler. Naredil cfg datoteke ter tudi vnesel pot v autoexec (sysedit, vnesel--> path=c:\Borland\BCC55\bin ), sam mi hudič v cmdju ne zažene programa CPP32 izven mape bin! A je problem v visti?
 

stein

Fizikalc
16. sep 2007
19.575
1
36
AUTOEXEC ne obstaja (zamahne z roko)
AUTOEXEC je plod tvoje domišljije (oziroma nočne more) (spet zamahne z roko)

PATH se nastavlja v System Properties (WIN+PAUSE tipki), pod Advanced / Environment variables ... (in je še vedno isti bedasti dialog stisnjen na 100x100 pikslov kot v Windows NT 4.0...)
 

mtey

Pripravnik
30. nov 2007
742
0
16
hahaha
bonk.gif
hvala, zdaj dela

Vem da je autoexec deloval v Win9x ter da ni v uporabi na NT. Sam v sysedit je še vedno autoexec.bat okno, pa sem mislil
smirk-1.gif



zmaga.gif
 

majana

Pripravnik
25. maj 2008
162
0
16
Citat:
Uporabnik mihi pravi:
Kompleksnejše zadeve rešiš naprimer v Pythonu, performančno kritične odseke pa v C# vse to pa delaš kar z istim RAD orodjem.
vsi programski jeziki v .net delajo enako hitro, ni vazno, al je ironfortran, python ali cs. kako bi pa izvedel take kriticne odseke pa ne vem. mogoce v unmanaged cpp, samo ne vem, kako bi to linkal zraven.
 

mihi

Pripravnik
14. apr 2008
222
0
16
To je res, da se v .NET okolju vsa koda izvaja preko iste vmesne CLR kode, vendar obstajajo razlike v kvaliteti prevedene kode, ki se razlikujejo od jezika do jezika in ta je najbolj izpiljena in optimizirana za C#
Poleg tega je mogoče v C# izvajati takoimenovano UnSafe kodo, ki je omogočena ravno iz performančnih razlogov.
 

KrNeki99

Fizikalc
3. sep 2007
888
25
28
Ljubljana
Citat:
Uporabnik mihi pravi:
To je res, da se v .NET okolju vsa koda izvaja preko iste vmesne CLR kode, vendar obstajajo razlike v kvaliteti prevedene kode, ki se razlikujejo od jezika do jezika in ta je najbolj izpiljena in optimizirana za C#
Poleg tega je mogoče v C# izvajati takoimenovano UnSafe kodo, ki je omogočena ravno iz performančnih razlogov.

1. Kvaliteta prevedene kode je odvisna predvsem od kvalitete programerja!
2. Kar se tice "superiornosti" C# bi pa zelel videti kaksne teste hitrosti, nato pa se primerjavo v hitrosti razvoja.
3. "UnSafe" kodo se lahko izvaja iz kjer hoces (npr. tudi v VB6 lahko direktno izvedes ASM kodo ce zelis/hoces/znas
wink-1.gif
)

lp
 

mihi

Pripravnik
14. apr 2008
222
0
16
Prevajalniki so tudi "samo" programi, ki so jih napisali programerji, zato in pa tudi zaradi semantičnih razlik med posameznimi jeziki, različni prevajalniki proizvedejo različno kvalitetno (hitro) kodo, tudi za iste algoritme sprogramirane v različnih jezikih, ki jih napiše isti (ali enako kvalitetni) programer.

Microsoft je največ truda vložil prav v izboljšanje performans za C# prevajalnik, ki zato tudi zgenerira najbolj performančno optimizirano kodo.

VB.NET za razliko od C# ne pozna unsafe metode.

Sicer pa je možno native kodo (napisano celo v assemblerju) prešvercati tudi v .NET preko dll importa.
 

KrNeki99

Fizikalc
3. sep 2007
888
25
28
Ljubljana
1. In kaksne so te preformancne razlike v praksi (1%, 5%, 30%...) ? ne pozabimo da vse laufa preko istega ".net"a

2. Ce te prav razumem za tebe obstaja samo C# ter VB.net? kam bi glede UnSafe kode uvrstil recimo C++ ?

3. Pri moznosti zagona ASM kode v VB6 nisem mislil na DLL import, temvec direkten "code execute" (GlobalAlloc, CopyMemory,...)
drugace pa zakaj UnSafe koda, Microsoft (ki ga tako rad omenjas) jo odsvetuje, za "vse" stvari se najde nadomestilo v ".NET Framework"u, zakaj potem? Neznanje? Stara koda ki se je portirala na .net okolje? Da lahko reces jest mam pa UnSafe kodo? Kar tako? ...

Drugace je pa debata itak brezplodna. Vsak jezik je dober za dolocene zadeve. To se pravi da izbiras jezik glede na projekt ki ga imas za naredit. Za programirat hardware ti C# kot tudi VB.net prav nic ne pomenita! Za ucenje pa je pac najboljse tisto s katerim bos lahko najhitreje napredoval/ucil oz ce se izrazim drugace, v cem programirajo tvoji kolegi (da imas koga vprasati), katerih knjig je najvec, katerih demo projektov je najvec, ...