![]() |
Chirurgia cranio-cerebrală minim invazivă
Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne. Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale. www.neurohope.ro |
Programmers Debate

#1
Posted 23 April 2008 - 01:47

Am observat tendinta userilor de a deschide topicuri care nu au legatura directa cu subiectul acestei arii (programarea) si in care posteaza cu ardoare.
Asadar deschid acest topic pentru toate discutiile non-tehnice dar legate indirect de subiectul ariei (C & C++), cum ar fi acest topic. Postati aici: - observatii - propuneri pentru imbunatatirea ariei - critici - laude sau multumiri - stiri (din domeniu) - intrebari legate de liceu sau facultate (din domeniu) - argumente pro-contra IDE-uri - "unelte" folosite de voi in programare - sfaturi - indrumari - recomandari de carti - definitii de termeni - framework-uri - engine-uri - etc. Mai exact orice nu are un caracter concret tehnic,dar este relationat cu subiectul ariei: programarea in C & C++. Regulamentul se va aplica si aici in egala masura cu deosebirea ca nu voi considera off-topic decat cererile de aplicatii, care vor fi penalizate corespunzator. Deci liber la "debate". knock yourselves out PS: Va rog nu postati aici probleme legate direct de programare, este doar o "zona de dezbateri". Edited by madlex, 23 April 2008 - 01:58. |
#2
Posted 27 April 2008 - 01:49

Incep eu
![]() Ce IDE-uri folositi, care va place cel mai mult si de ce? Cristos a Inviat si Paste Fericit pentru toti. |
#3
Posted 27 April 2008 - 12:51

wxDev-C++ , fata de traditionalul Dev-C++ are si un RAD pentru cine vrea sa foloseasca wxwidgets
Paste Fericit |
#4
Posted 02 May 2008 - 16:08

Cum vedeti voi C/C++ atit ca limbaj de aplicatii obisnuite (nu low, driver-e, OS etc.) cat si framework-urile bazate pe el in contextul actual/viitor cand MS/Sun/IBM/Apple/etc. din dorinta lor de a avea limbaje/tehnologii proprii si dezvoltind framework-uri puternice pe sistemele lor, atrag tot mai mult programatorii spre astfel de limbaje ?!
Eu vad ca doar cei din zona Unix-like il mai au la suflet... |
#5
Posted 14 May 2008 - 11:45

Cum vedeti voi C/C++ atit ca limbaj de aplicatii obisnuite (nu low, driver-e, OS etc.) cat si framework-urile bazate pe el in contextul actual/viitor cand MS/Sun/IBM/Apple/etc. din dorinta lor de a avea limbaje/tehnologii proprii si dezvoltind framework-uri puternice pe sistemele lor, atrag tot mai mult programatorii spre astfel de limbaje ?! Eu vad ca doar cei din zona Unix-like il mai au la suflet... Eu sunt un fan c++/asm si sa zicem cam imi place sa lucrez la nivelul asta ,dar uneori ele nu sunt de ajuns. Prefer sa fac o aplicatie in c++ in loc de java sau .NET pt ca nu am sentimentul ca se taraie. Pe de alta parte la capitolul web applications, c++ e cam slabutz chiar rau de tot. Nu mi se pare o solutie sa fac module de apache sau ISAPI filters sau alte tampenii de genul asta care sunt ineficiente si greu de mentinut. De asemenea multe framework-uri independente de platforma nu sunt destul de mature pt production si/sau nu ofera destula documentatie. De aceea de obicei imi place sa imbin c++ cu java sau .net (java de cele mai multe ori). Chestiile care ma deranjeaza cel mai mult sunt : de ce Microsoft a ales directia asta cu managed , de ce a eliminat complet din compiler suportul pt inline asm ,de ce s-a schimbat calling convension-ul de la __stdcall la __fastcall pt win64, etc. Ma rog banuiesc ca nu e cazul sa -mi vars nemultumirile pe aici. Inca o chestie de ce s-au introdus restrictiile idioate din Vista care mie mi se par un nightmare si de ce au stat 15 ani ca sa scoata un gunoi de sistem de operare care cica e revolutionar.Mi se pare frustrant sa imi trebuiasca jdemii de MB de RAM ca sa rulez un OS la fel ca XP dar cu alta palarie. SI de ce asta? Integrare cu .NET,protectii peste protectii si alte kkt-uri care in final oricum pot fi crackuite,dar ma rog e microsoft. Revenind la limbajul de programare cred ca asm/c++ nu o sa moara efectiv nu ai cu ce altceva sa programezi low level. ![]() |
#6
Posted 21 May 2008 - 17:56

Quote de ce s-a schimbat calling convension-ul de la __stdcall la __fastcall pt win64 ![]() |
#7
Posted 03 June 2008 - 16:59

Who told you that? ![]() http://msdn.microsof...y/ms235286.aspx |
#8
Posted 31 July 2008 - 14:34

Pe de alta parte la capitolul web applications, c++ e cam slabutz chiar rau de tot. Nu mi se pare o solutie sa fac module de apache sau ISAPI filters sau alte tampenii de genul asta care sunt ineficiente si greu de mentinut. O tehnologie bazata pe modulele Apache sau ISAPI e FastCGI care abstractizeaza mult, practic tu scrii o aplicatie consola si tot ce trimiti output-ului va ajunge la browser. Nu e CGI, fiindca rezida in memorie, nu se termina procesul ci asteapta noi cereri.
De asemenea multe framework-uri independente de platforma nu sunt destul de mature pt production si/sau nu ofera destula documentatie.
de ce Microsoft a ales directia asta cu managed |
#9
Posted 29 September 2008 - 10:58

are cineva sami dea si mie un site de unde pot lua c++
|
#10
Posted 29 September 2008 - 11:38

are cineva sami dea si mie un site de unde pot lua c++ http://www.codeblocks.org/downloads Edited by neagu_laurentiu, 29 September 2008 - 11:41. |
#11
Posted 03 December 2008 - 20:10

Incep eu ![]() Ce IDE-uri folositi, care va place cel mai mult si de ce? Cristos a Inviat si Paste Fericit pentru toti. Eclipseeee.. pot sa il folosesc pentru absolut orice limbaj de programare si nu trebuie sa rulez 1000 de programe pentru ca sa editez/compilez/lucrez remote etc.. |
|
#13
Posted 09 December 2008 - 06:33

Asadar, sa le luam pe rand...
Chestiile care ma deranjeaza cel mai mult sunt : de ce Microsoft a ales directia asta cu managed , de ce a eliminat complet din compiler suportul pt inline asm , Pentru ca pentru un compilator de aplicatii ce ruleaza sub mediul Windows, asamblarea e considerata nesigura. Limbajele precum Java si C# au fost inventate tocmai pentru a ne scapa de anumite concepte cum ar fi pointerii, astfel scapand multe aplicatii de diverse erori. Cu timpul, limbajele high-level vor fi folosite pentru aplicatii, iar cele low si middle-level pentru driveri si sisteme de operare, asa cum ar trebui. Managed code is the s*it, desi e mai lent. La urma urmei, si C e mai lent decat asamblarea, nu!?! Ia-o in felul urmator: daca byte code-ul (e.g. CIL) produs de un compilator (e.g. C#) ofera prin design anumte proprietati de siguranta, 1) aplicatia e mai sigura, 2) sistemul de operare poate fi facut mai sigur (vezi Singularity). Ah, inca ceva... Am citit un comentariu cu C/C++ care nu e facut de Microsoft, motiv pt care au ales calea managed. Cine a scris asta, a facut un comentariu redundant... Quote de ce s-a schimbat calling convension-ul de la __stdcall la __fastcall pt win64, etc. Pentru e mult mai eficient sa ai parametrii in registre atunci cand ai loc decat sa ii pui pe stiva si sa ii scoti apoi. Nu uita ca viteza memoriei e complet patetica comparativ cu cea a registrelor, avand in vedere ca ele sunt aflate fizic in procesor. Nici cache-ul nu e o solutie cu mult mai buna. Quote Revenind la limbajul de programare cred ca asm/c++ nu o sa moara efectiv nu ai cu ce altceva sa programezi low level. ![]() C++ nu e low-level, ci middle-level spre high-level. Probabil te referi la C. Cheers, Bogdan Edited by Love4Boobies, 09 December 2008 - 06:39. |
#14
Posted 09 December 2008 - 07:43

... Astept ziua cand MS va veni cu Windows-ul sau tot ce produc ei sub CIL iar la instalare ngen va genera un .exe optimizat pentru masina mea... in GAC. Deocamdata constat ca JIT-ul nu a auzit de toate optimizarile suportate de procesor: C/C++ void xxx(_int64 n, _int64 m) { double t = 0.0; for (__int64 j = 0; j < n; j++) { t /= 1000.0; for (__int64 i = 0; i < m; i++) { t += i / 999999.0; double d = t * t + i; double r = (t + d) / (200000.0 * (i + 1)); t -= r; } } printf("%e\n",t); } int main(int argc, char* argv[]) { __time64_t t1,t2; _int64 n = _atoi64(argv[1]); _int64 m = _atoi64(argv[2]); _time64(&t1); xxx(n,m); _time64(&t2); printf("%d s\n",t2-t1); return 0; } C# class Program { public static void xxx(Int64 n, Int64 m) { double t = 0.0; for (Int64 j = 0; j < n; j++) { t /= 1000.0; for (Int64 i = 0; i < m; i++) { t += i / 999999.0; double d = t * t + i; double r = (t + d) / (200000.0 * (i + 1)); t -= r; } } Console.WriteLine(t); } static void Main(string[] args) { DateTime t1, t2; Int64 n = Convert.ToInt64(args[0]); Int64 m = Convert.ToInt64(args[1]); t1 = DateTime.Now; xxx(n,m); t2 = DateTime.Now; System.Console.WriteLine("{0}", (t2 - t1).ToString()); // reapelam ca sa excludem timpul pierdut de JIT pentru compilare nativa t1 = DateTime.Now; xxx(n,m); t2 = DateTime.Now; System.Console.WriteLine("{0}", (t2 - t1).ToString()); } } Java public class t { public static void xxx(long n, long m) { double t = 0.0; for (long j = 0; j < n; j++) { t /= 1000.0; for (long i = 0; i < m; i++) { t += i / 999999.0; double d = t * t + i; double r = (t + d) / (200000.0 * (i + 1)); t -= r; } } System.out.println(t); } public static void main(String[] args) { long t1, t2; long n = Long.parseLong(args[0]); long m = Long.parseLong(args[1]); t1 = System.currentTimeMillis(); xxx(n,m); t2 = System.currentTimeMillis(); System.out.printf("%d\n", (t2 - t1)/1000); t1 = System.currentTimeMillis(); xxx(n,m); t2 = System.currentTimeMillis(); System.out.printf("%d\n", (t2 - t1)/1000); } } Dupa compilare in release plus toate optimizarile, calculatorul meu la un apel .exe 5 100000000 finalizeaza operatiunea: - .NET 71s - Mono 67s (!) - Java 61s (optiunea -client) - Java 55s (optiunea -server) - VC++ 23s Si tocmai anumite concepte cum ar fi pointerii ajuta la optimizari... Vreti si exemple de management automat de memorie... eficient ? Edited by neagu_laurentiu, 09 December 2008 - 07:47. |
#16
Posted 09 December 2008 - 14:37

Parerea mea e ca iti plac povestile din MSDN... Astept ziua cand MS va veni cu Windows-ul sau tot ce produc ei sub CIL iar la instalare ngen va genera un .exe optimizat pentru masina mea... in GAC. Daca lucrurile merg asa cum trebuie, nu vei avea nevoie de un PE, ci pur si simplu un un compilator gen Bartok. Quote Si tocmai anumite concepte cum ar fi pointerii ajuta la optimizari... Nu am spus ca C# este mai rapid. Tocmai asta incercam sa zic: C este mai lent decat asamblarea, precum si C# este mai lent decat C. Vrei sa te apuci sa scrii o intreaga aplicatie in limbaj de asamblare doar pentru ca e mai rapid? I doubt it. Asta e evolutia... Odata cu cresterea puterii de calcul, avem optiunea de a face aplicatiile mai sigure, ceea ce a devenit o prioritate mai mare in ziua de azi. Citeste mai atent ce am scris. Tin sa precizez ca byte code-ul produs de C# este cu mult superior celui produs de Java intr-ale sigurantei. Java intr-adevar este mai portabil. Cheers, Bogdan Edited by Love4Boobies, 09 December 2008 - 14:37. |
#17
Posted 09 December 2008 - 16:11

un compilator gen Bartok.
C este mai lent decat asamblarea, precum si C# este mai lent decat C.
Odata cu cresterea puterii de calcul, avem optiunea de a face aplicatiile mai sigure Da-mi exemple de chestii sigure in managed. Marketing citesc si eu din MSDN dar vreau ceva concret ! LE: sa nu facem flame si sa ne limitam la discutii argumentate chiar daca contradictorii ! Edited by neagu_laurentiu, 09 December 2008 - 16:20. |
|
#18
Posted 09 December 2008 - 16:58

Teoretic ai dreptate. Dar diferenta dintre C# & C e muuullt mai mare decat intre C & asm ! In cazul .asm-ului pierderea e neglijabila iar nivelul inalt al limbajului C (in comparatie cu asm) aduce mai mult imbunatatiri decat pierderi ori in cazul lui C# cred ca lucrurile stau invers. Nu amesteca framework-ul puternic prin multitudinea de clase puse la dispozitie cu tehnologia JIT/CIL. Acele multe clase puteau fi implementate si in C++ foarte bine numai ca motivele nu tin de domeniul tehnic ci al marketingului sau al orgoliilor MS. Clasele sunt puse la dispozitie de platforma .NET, nu de CIL/JIT. CIL este codul binar (care nu este acelasi cu al procesorului - de ex. nu e cod nativ x86). CIL aduce atat portabilitate (trebuie un compilator Bartok pentru fiecare procesor dar codul pe care il cumperi din magazin poate fi acelasi pentru toate sistemele de operare) cat si siguranta pentru ca e managed. E managed pentru ca C# e type-safe. Fiind type-safe, poate sa ne scape de anumite erori in aplicatii, specifice pointerilor. Un exemplu este buffer overrun-ul. Quote Nu intelg asta cu aplicatii mai sigure ! Pai nu e rolul OS-ul sa aiba grija de siguranta ? De cand un layer peste OS are grija de asta ? Da-mi exemple de chestii sigure in managed. Marketing citesc si eu din MSDN dar vreau ceva concret ! Intamplator, eu sunt un system developer. Lucrez la propriul meu sistem de operare, pe nume Simplexity. Una din chestiile sigure managed ar fi chiar un sistem de operare managed (vezi Singularity). Cealalta jumatate a intrebarii e raspunsa mai sus... ![]() Quote LE: sa nu facem flame si sa ne limitam la discutii argumentate chiar daca contradictorii ! Stai linistit, nu imi plac flame-urile nici mie ![]() Cheers, Bogdan Edited by Love4Boobies, 09 December 2008 - 17:01. |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users