Да. Во C# постои механизам за auto boxing. Имено секоја примитива може да ја третираш и како таква и како инстанца од wrapper класите задолжени за тоа, т.е. 2 може да биде и int и Integer.Кај C# мене ме фасцинира што можеш да напишеш string dva = 2.ToString(); и да ти работи како што треба. :smir:
Објаснувањево ти е супер, само сево ова да се изведе при градење на една апликација и на крај да се добијат посакуваните резултат не е баш лесно (зборувам за C#)Не не не...
Ако гледаме веќе према правите дефиниции на Објектно ориентираните програмски јазици, C++ ги имплементира сите идеи. Значи од идеите за повеќекратно наследување, класично наследување и изборен полиморфизам, C# нема појма. C# и Java се олеснети варијанти нa C++ во таа мера што голем дел од напредните механизми се исклучени. Java и C++ се пренесуваат преку референци, немаат механизми за преоптоварување на оператори и повеќекратно наследување. Принципот на полиморфизам овдека е задолжителен. Кај C++ полиморфизмот упаѓа на дело кога се работи со покажувачи кон основна класа, а ако се извади објект, истиот не важи. Кај Java и C#, ова не е случај.
Додека за мемориската зафатеност имаш многу фактори од кои што 50% се во твоја надлежност. Тоа дали ќе користиш поинтери или не ама ич нема врска. Туку напротив користењето на поинтери зафаќа и повеќе простор пошто не сега само што зафаќаш меморија за податокот, ами дополнително зафаќаш меморија и за покажувачот.
Она на што може да обрнеш внимание е: пооптимизиран алгоритам, со поголема ефикасност т.е. временска и мемориска - помала комплексност со помалку зафатнина на податоци. Затоа ите како реков дека познавањето на алгоритмите и оптимизираното програмирање е цела уметност.
Ако користиш C#.NET спремај се уште на старт да имаш зафатено поголем дел меморија поради кревањето на CLR интерпретерот во позадина. Не дека програмата зафаќа толку меморија, туку мора првин основата која што ќе ја движи целата програма да дојде во функција. Исто е и кај Java. Таму пред да се покрене апликацијата мора целосно да се покрене Java виртуелната машина која знае да зафати и поголеми делови од меморијата (>100MB).
Епа сага, секому колку му е „чергата“ . C# се користи за комерцијални бизнис-ориентирани апликации. Да направиш игра во C# не е препорачливо а пак некоја програма за масовни пресметки (недај боже GRID) нема друго чаре освен C++.И како заклучок на сето ова е тоа дека C# со своите можности неможе да го стигне C++ особено не на полето „перформансите“ на апликацијата... ова баш и не ме радува :/
Тоа нема type casting да му дојде во овој случај?Да. Во C# постои механизам за auto boxing. Имено секоја примитива може да ја третираш и како таква и како инстанца од wrapper класите задолжени за тоа, т.е. 2 може да биде и int и Integer.
Не. Type casting работи за објекти. Ова е директна трансофрмација на примитива во објект и обратно.Тоа нема type casting да му дојде во овој случај?
Во поглед на перформансите и трошењето на ресурси се знае дека С++ владее. Неговата предност е во тоа што може да се речи дека се наоѓа на најниското ниво кај проблемски оринтираните јазици (пониско од него е С, се смета дека тој можи да се разгледува како хибриден јазик, некој микс меѓу асемблер и проблемски оринтиран јазик), и со самото тоа што С++ е поблиску до основата го прави моќен, односно можи да навлези директно во менаџирањето на ресурсите, што од друга страна го прави комплексен и тежок за работа. Додека од друга страна С#.net се стреми кон највисокото ниво кај проблемските ориентирани јазици (т.е чисто визуелно програмирање) го прави шкрт во погледот на менаџирање на ресурсите, но е доста лесен за работа. Готовите работи кои што ги нуди С#.net не значи дека тие не се извршуваат при работата на програмата, па затоа и програма со две копчиња и три реда код троши повеќе меморија од 10000 такви програми изработени во С++ (каде патем има добро да се испотиш додека "пешки" да изпрограмираш). Но доколку со овај став му се обратиш на Microsoft, од таму ќе ти одговорат дека нивниот производ е квалитетен, а тоа што хардверските ресурси не можат да се носат со тој производ не е нивна вина, поради тоа што хардверот брзо се развива па имаш RAM на претек твое е само го купиш.И како заклучок на сето ова е тоа дека C# со своите можности неможе да го стигне C++ особено не на полето „перформансите“ на апликацијата... ова баш и не ме радува :/
Even more , со новиот 3.5 .NET Framework (можда и од 3.0 , не сум сигурен) , моеш да користиш var како тип на променлива .Да. Во C# постои механизам за auto boxing. Имено секоја примитива може да ја третираш и како таква и како инстанца од wrapper класите задолжени за тоа, т.е. 2 може да биде и int и Integer.
Се сложувам .Епа сага, секому колку му е „чергата“ . C# се користи за комерцијални бизнис-ориентирани апликации. Да направиш игра во C# не е препорачливо а пак некоја програма за масовни пресметки (недај боже GRID) нема друго чаре освен C++.
Од друга страна пак, правиш обична десктоп апликација за интерна работа на некоја фирма која захтева изградба на веб интерферјс према надворешноста, C# ти е месаја!
Ѕирни го ова (ако не си го видел до сеа)... ама не сум 100% сигурен дека е тоа што ти треба.Прашање за конуникација преку сериски порт (RS232).
Нема настан (event) готов кога доаѓаат податоци на портот. Како да проверува постојано. Зависи тоа од колку е BaudRate-от, па на толку време да го проверува портот . . .
Решение ?
Епа сага, секому колку му е „чергата“ . C# се користи за комерцијални бизнис-ориентирани апликации. Да направиш игра во C# не е препорачливо а пак некоја програма за масовни пресметки (недај боже GRID) нема друго чаре освен C++.
Од друга страна пак, правиш обична десктоп апликација за интерна работа на некоја фирма која захтева изградба на веб интерферјс према надворешноста, C# ти е месаја!
XNA Game Studio - http://msdn.microsoft.com/en-us/xna/aa937794.aspxАбе денешните игри(огромните проекти),це шарп(дот нет)не само шо не би било препорачливо,би било лудило!
Ама ова е само за Visual C#/Studio 2005XNA Game Studio - http://msdn.microsoft.com/en-us/xna/aa937794.aspx
Од верзија 3.0 (најнова е 3.1) може да се користи со Visual Studio 2008Ама ова е само за Visual C#/Studio 2005
Да не знаеш дали има некое вакво слично чудо за Visual C#/Studio 2008 освен The Game Creators GDK ?