» »

Izšla sta Microsoft Visual Studio 2010 in .NET Framework 4

1
2
»

Backup22 ::

Wooohooo ;) So pa hitri - samo še SL 4, pa je to to;)
//

dev ::

Hmm, na FERI še pa ni :(
Sam škoda k ni Ulitmate verzije. Meni bi prav prišu IntelliTrace (Historical Debugger), ki ga pa v professional ni.
http://www.microsoft.com/visualstudio/e...
All we have to decide is what to do with the time that is given to us.

noraguta ::

lejga, če se vse prevede na pogojne skoke =) kako pol ni mogoče. Ne veš kaj govoriš.

ti ne veš kaj trapaš, v asm se ne da niti spodobno definirati structa, kje šele kontekstne navezave metod najih.
In ja compiler dela to v večih fazah, temptlatei, refelction emit, linq in tega zaenkrat ni porizvedel še noben asm freak. Ker se preprosto ne da. Enostavno asm ni sposoben efektivne manipulacije podatkov. Ker v višjenivojskih jezikih dodamo nekaj več informacij kot le premakni "nekaj"(ja asm ne ve kaj je tisto nekaj, kot tip). Za premetavanje vrednosti med registri je asm včasih celo nujen ampak v nobenem primeru pa ni nadomestek in ne more biti nadomestek za višjenivojske jezike.
Pust' ot pobyedy k pobyedye vyedyot!

Zgodovina sprememb…

  • polepsal: Mavrik ()

dev ::

Zdj pa je že :)
All we have to decide is what to do with the time that is given to us.

dejvid1 ::

noraguta je izjavil:


ti ne veš kaj trapaš, v asm se ne da niti spodobno definirati structa, kje šele kontekstne navezave metod najih.
In ja compiler dela to v večih fazah, temptlatei, refelction emit, linq in tega zaenkrat ni porizvedel še noben asm freak. Ker se preprosto ne da. Enostavno asm ni sposoben efektivne manipulacije podatkov. Ker v višjenivojskih jezikih dodamo nekaj več informacij kot le premakni "nekaj"(ja asm ne ve kaj je tisto nekaj, kot tip). Za premetavanje vrednosti med registri je asm včasih celo nujen ampak v nobenem primeru pa ni nadomestek in ne more biti nadomestek za višjenivojske jezike.

ti ne veš kaj trapaš,

Jst točno vem kaj govorim, sam očitno eni tega ne dojamejo.

v asm se ne da niti spodobno definirati structa, kje šele kontekstne navezave metod najih.
In ja compiler dela to v večih fazah, temptlatei, refelction emit, linq in tega zaenkrat ni porizvedel še noben asm freak. Ker se preprosto ne da.


Ja se da napisat v ASM, preprostost nima nobene veze s tem. Struktue in povezava med njimi je samo abstrakcija podatkov v pomnilniku za višjenivojski jezik.
Tvoj izrek: Tega se preprosto ne da.
Pa poskusimo sedaj tvoje mnenje dokazat.
Dokaz(S protislovjem): Rečmo da se vsaka izvorna koda višje nivojskega jezika se prevede v zbirni jezik. Obstaja jezik v katermu se da uporabiti strukture in povezave med njimi. Očitno je da takšni delujoči programi obstajajo. Ampak po tvojem izreku pomeni da se v zbirnem jeziku tega ne da narediti. Kar posledično pomeni da ne more obstajati program ki bi lahko to imel. To pa je v protislovju z tem da je vsak program v zbirniku sposoben to naredit.
Iz česar logično sledi da se da to narediti v zbirniku, ker drugače takšni programi se nebi morali se prevesti v zbirnik, da bi jih lahko pognal.

Enostavno asm ni sposoben efektivne manipulacije podatkov.

Asm je sposoben najbolj efektivne manipulacije podatkov. Zakaj? Ker vse višje nivojske operacije se prevedejo v zaporedje nižje nivojskih. Še več. Prevajalnik je mogoče nesposoben uporabiti boljšo rešitev za dani primer(ker je več možnih) in lahko sam kaj še optimiziraš s tem. Sploh če želiš uporabiti kakšno eksotično intrukcijo ki je prevajalnik še ne podpira.. itd.

Ker v višje nivojskih jezikih dodamo nekaj več informacij kot le premakni "nekaj"

Kakor sem že umenil se vse višje nivojske operacije prevedejo v zaporedje nižje nivojskih. Ni v njih nič več ali manj informacije kot v višje nivojskem ukazu oz. zaporedju ukazov v katere se je prevedlo.

(ja asm ne ve kaj je tisto nekaj, kot tip).

Tipi so samo abstrakcija zaporedja bajtov v pomnilniku. Tko da niti tvoj program ne ve kaj je to. Ti si tisti, ki veš kaj to je. Če si v asm predstavljaš nekaj kot tip, je to tip zate =) Drugače pa konec koncev računalnik ne ve kaj je tip =)

Za premetavanje vrednosti med registri je asm včasih celo nujen ampak v nobenem primeru pa ni nadomestek in ne more biti nadomestek za višjenivojske jezike

Valda je nadomestek in zmeri je bil. V kaj se pa prevede višjenivojski jezik? =)

lambda ::

@dejvid1

Vsi dojamemo, da je možno v zbirniku naredit vse, kar se da naredit v višjenivojskem - in če se nečesa ne da narediti v zbirniku, se tudi v višjenivojskem ne da. Ampak za kakšno ceno? To je skoraj tako, kot da bi se prepirali o tem ali je boljše uporabljati turingov stroj ali PC.

dejvid1 ::

lambda je izjavil:

@dejvid1

Vsi dojamemo, da je možno v zbirniku naredit vse, kar se da naredit v višjenivojskem - in če se nečesa ne da narediti v zbirniku, se tudi v višjenivojskem ne da. Ampak za kakšno ceno? To je skoraj tako, kot da bi se prepirali o tem ali je boljše uporabljati turingov stroj ali PC.


Ja vsi očitno me, me pa veseli da nisem sam =)

Zgodovina sprememb…

  • spremenil: dejvid1 ()

noraguta ::

na ne zastopiš v doglednem času se v zbirn+iku ne neredi nič hvale vrednega. ker ima ta svoje tako velike pomankljivosti za Ž"povprečen" al pa "super" programer do dandanes nista napisala nič konkretnega.
Pust' ot pobyedy k pobyedye vyedyot!

lambda ::

Najprej je treba ločit ali programiraš gonilnik ali večjo WPF aplikacijo. Gonilnik je v določenih primerih smiselno. Če greš pa pisat WPF-like aplikacijo v zbirniku, in misliš, da si res kul, si pa zrel za kako ustanovo ...

In ne, MS ni samo cifer spremenil, sam najdem kar nekaj stvari v .NET 4, ki sem jih prej pogrešal.

dejvid1 ::

lambda je izjavil:

Najprej je treba ločit ali programiraš gonilnik ali večjo WPF aplikacijo. Gonilnik je v določenih primerih smiselno. Če greš pa pisat WPF-like aplikacijo v zbirniku, in misliš, da si res kul, si pa zrel za kako ustanovo ...

In ne, MS ni samo cifer spremenil, sam najdem kar nekaj stvari v .NET 4, ki sem jih prej pogrešal.


Jao tvoja primitivna slovenska splošno sprejeta miselnost, ti intuitivno pravi da hoče kdo tu kul bit?

Ne pravim da bi sploh kdo programiru v zbirniku, pravim samo o ekvivalenci ki enmu ni bila jasna.

Zgodovina sprememb…

  • spremenil: dejvid1 ()

nuclear ::

hoho lepo.. bomo sprobali če so kaj zasplet urihtali dodatnih kontrolic :)
Corsair 750D - VI Hero - i5 4670k - Corsair Dominator 32GB - 1080Ti - EVO 500GB
- Sabrent 1TB nVME - Corsair AX860i - Ducky Shine 3 Brown

Mavrik ::

Vsak, ki je kdaj naredil hello world verjetno ve, da se nazadnje vsak program prevede v assembler.


Narobe (Poleg tega verjetno misliš "assembly" ne "assembler"). Pametnejši prevajalniki prevajajo v strojno kodo, ki (kljub definiciji) ni vedno 1:1 preslikava v zbirni jezik.

In vsak, ki je naredil kaj več od hello world ve, da človek strašno kompleksnega programa v njem ne more naredit.


Narobe (zgodovina ti tule zelo jasno nasprotuje).

Bi se pred zmerjanjem ljudi s primitivci pozanimal kaj pišeš?
The truth is rarely pure and never simple.

Zgodovina sprememb…

  • spremenil: Mavrik ()

Utk ::

Praviš, da je najbolj kompleksen program, kar so jih kdaj naredili, bil narejen direktno v assemblerju?
Vsi prevajalniki grejo čez kar nekaj faz, v vsaj eni vmes nastane koda, ki je dost podobna assemblerju.

Zgodovina sprememb…

  • spremenil: Utk ()

dejvid1 ::

Utk je izjavil:

Praviš, da je najbolj kompleksen program, kar so jih kdaj naredili, bil narejen direktno v assemblerju?
Vsi prevajalniki grejo čez kar nekaj faz, v vsaj eni vmes nastane koda, ki je dost podobna assemblerju.

mislim no, sej vemo da gredo prevajalniki čez nekaj faz =) Pa to sploh ni važno, važno je to da je nekdo prepričan da ne moreš kompleksnega programa naredit v zbirniku. haha =) Oz. da ga še noben ni.

Seveda se bo zmeraj našel idiot, ki bo naredil še malo bolj kompliciran program kar v njem,

No ja nebi jih zmerjal z idijotom =) Ker če greš kaj takšnega počet ne moreš idiot bit ampak natančno vedit kaj delaš. Kake maš ti. No kiri idijot je šel spisat prevajalnik v zbirniku? Kako je bil neumen joj joj. Kaj ni mogel v roke vzet visual studio 1950?

noraguta ::

Asm je sposoben najbolj efektivne manipulacije podatkov. Zakaj? Ker vse višje nivojske operacije se prevedejo v zaporedje nižje nivojskih. Še več. Prevajalnik je mogoče nesposoben uporabiti boljšo rešitev za dani primer(ker je več možnih) in lahko sam kaj še optimiziraš s tem. Sploh če želiš uporabiti kakšno eksotično intrukcijo ki je prevajalnik še ne podpira.. itd.


če si sposoben , ker v asm ne obstaja ničesat takega kot je tip , optimizacija pa le te izrablja, si pri asm obsojen na ročno računovodstvo pri optimizaciji, tega pa pri kompleksnejših programih človek ni zmožen, kakor nisi z lopato zmožen premakniti enake količine zemlje kot bager.
asm je uporaben za butično izrabo ukazov kateri niso efektivno uporabljeni v compilerju.

Tipi so samo abstrakcija zaporedja bajtov v pomnilniku. Tko da niti tvoj program ne ve kaj je to. Ti si tisti, ki veš kaj to je. Če si v asm predstavljaš nekaj kot tip, je to tip zate =) Drugače pa konec koncev računalnik ne ve kaj je tip =)


tule dajva razčistit nekaj stvari , runtime lahko ve za tip , vsekakor pa pri statično tipiziranih jezikih ve compiler kaj je tip. in blago rečeno je tvoja definicija tipa zelo ozka.

btw , že davno se kompilerji ne pišejo več v zbirniku in to iz dobrega razloga , ker bi bili še vedno nekje leta 70 če bi ljudje trapali v asmju.
Pust' ot pobyedy k pobyedye vyedyot!

dejvid1 ::

noraguta je izjavil:

Asm je sposoben najbolj efektivne manipulacije podatkov. Zakaj? Ker vse višje nivojske operacije se prevedejo v zaporedje nižje nivojskih. Še več. Prevajalnik je mogoče nesposoben uporabiti boljšo rešitev za dani primer(ker je več možnih) in lahko sam kaj še optimiziraš s tem. Sploh če želiš uporabiti kakšno eksotično intrukcijo ki je prevajalnik še ne podpira.. itd.


če si sposoben , ker v asm ne obstaja ničesat takega kot je tip , optimizacija pa le te izrablja, si pri asm obsojen na ročno računovodstvo pri optimizaciji, tega pa pri kompleksnejših programih človek ni zmožen, kakor nisi z lopato zmožen premakniti enake količine zemlje kot bager.
asm je uporaben za butično izrabo ukazov kateri niso efektivno uporabljeni v compilerju.

Tipi so samo abstrakcija zaporedja bajtov v pomnilniku. Tko da niti tvoj program ne ve kaj je to. Ti si tisti, ki veš kaj to je. Če si v asm predstavljaš nekaj kot tip, je to tip zate =) Drugače pa konec koncev računalnik ne ve kaj je tip =)


tule dajva razčistit nekaj stvari , runtime lahko ve za tip , vsekakor pa pri statično tipiziranih jezikih ve compiler kaj je tip. in blago rečeno je tvoja definicija tipa zelo ozka.

btw , že davno se kompilerji ne pišejo več v zbirniku in to iz dobrega razloga , ker bi bili še vedno nekje leta 70 če bi ljudje trapali v asmju.


Oh, 1. prevajalnik je moral biti napisan v zbirniku, ker ni bilo izbire. In nikakor ne pravim da so prevajalniki sedaj spisani z zbirnikom, to bi bilo neumno. Runtime ne ve za tipe, samo ti in compiletime. Če je runtime napisan tako da razpoznava vhodne podatke in jih dodeli tipi(npr. parser) pol bi lahko rekel da sprepoznava tipe. Tuki si se v nogo ustrelu, prej poveš da ne obstaja nič takšnega kot je TIP v zbirniku. Nato pa praviš da runtime sprepoznava tipe. Torej runtime je strojna koda aka zbirnik.

noraguta ::

dej si ti poglej mal expressione , reflection, nenazadnje lahko tudi .net 4 novost keyword dynamic v c#.

vse skupaj narobe razumeš zaradi tvoje definicije tipa.
Pust' ot pobyedy k pobyedye vyedyot!

Utk ::

dejvid1 je izjavil:

Utk je izjavil:

Praviš, da je najbolj kompleksen program, kar so jih kdaj naredili, bil narejen direktno v assemblerju?
Vsi prevajalniki grejo čez kar nekaj faz, v vsaj eni vmes nastane koda, ki je dost podobna assemblerju.

mislim no, sej vemo da gredo prevajalniki čez nekaj faz =) Pa to sploh ni važno, važno je to da je nekdo prepričan da ne moreš kompleksnega programa naredit v zbirniku. haha =) Oz. da ga še noben ni.

Seveda se bo zmeraj našel idiot, ki bo naredil še malo bolj kompliciran program kar v njem,

No ja nebi jih zmerjal z idijotom =) Ker če greš kaj takšnega počet ne moreš idiot bit ampak natančno vedit kaj delaš. Kake maš ti. No kiri idijot je šel spisat prevajalnik v zbirniku? Kako je bil neumen joj joj. Kaj ni mogel v roke vzet visual studio 1950?


Seveda sem prepričan, da ne moreš naredit kompleksnega programa v zbirniku, kot človek ne more peš in s plavanjem okoli sveta v tolk pa tolk dnevih, kot je maximalna hitrost plavanja in šprinta. Čeprav se bo zmeraj našel nekdo, ki bo na ta način prišel malo dlje malo hitreje.
Prvi prevajalnik so naredili že v 50ih, v 60ih so imeli prevajalnike, ki so znali prevest sami sebe. Že takrat jim je blo jasno kar nekaterim še danes ni. Pa so se takrat komaj dobro začele komplicirat stvari.

noraguta ::

eh o "kvaliteti" asmja pove v čem so napisani. vse skupaj je narejen v navadnem cju. razen če res nisi nikol delu v fohu potem veš s čim imaš opravka. enostavno bi bila evtanazija za ljudi kateri zagovarajajo izvedljivost globalne optimizacije programa v zbirniku najhitrejša rešitev.
Pust' ot pobyedy k pobyedye vyedyot!

Mavrik ::

Hmm, zanimivo. Evtanazija kaj? V procesorjih mamo vse tiste kul enote za vektorsko računanje (saj veš, MMX, SSE - SSSE3), ti bi pa ljudi ko to uporabljajo kar evtanaziral? ;)

Ne nakladat no.
The truth is rarely pure and never simple.

noraguta ::

govoril sem o globalni optimizaciji, sicer pa vektorizacijo za omenjene nabore dandanes podpirajo celo nekoliko bolj retardirani prevajalniki.
Pust' ot pobyedy k pobyedye vyedyot!

Mavrik ::

Aja? No, pokaži mi en dokaz da znajo tisti prevajalniki narediti kaj več kot avtomatsko vektorizirati najpreprostejše zanke (pa pri tem ne polomiti polovico ostale kode).

Trenutna gcc in icc implementacija je hudo omejena in zahteva ročno pisanje kode (ali direktno v ASM ali s pomočjo prevajalnikovih makrov).
The truth is rarely pure and never simple.

noraguta ::

dokazano onkraj intel optimization guida
http://www.sciencedirect.com/science?_o...


fajn bi bilo pogledat tud po APL-u. in podobnih spačkih , konec koncev je linq lažje parallelizirat ali vektorizrat kot ka c. in ja dataprovider za linq ni le trivialno vezat na simd
http://tirania.org/blog/archive/2008/No...
ampak celo na gpgpu.
Pust' ot pobyedy k pobyedye vyedyot!
1
2
»


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[c#] Vprašanje glede release verzije aplikacije

Oddelek: Programiranje
51327 (1151) Ericssony
»

Kako začeti - Flash + Visual Studio (C#) ?

Oddelek: Programiranje
91633 (1357) avister
»

programski jezik

Oddelek: Programiranje
303470 (2841) noraguta
»

Visual Studio 2008 in .NET Framework 3.5 (strani: 1 2 )

Oddelek: Novice / Ostala programska oprema
608729 (6869) darkolord

Več podobnih tem