-
1. Data: 2011-10-24 08:16:42
Temat: c++ -> c#
Od: "Sarr." <s...@g...pl>
witam,
mam luzne pytanie do tych, ktorzy doswiadczyli przejscia jak w temacie,
czyli z c++ na c#. nie zrozumcie mnie zle, chodzi mi o to, zeby rzucac
c++ na rzecz c#.
chodzi mi o opinie o tym co w c# jest 'lepsze' a co 'gorsze', przy czym
podkreslam, chodzi mi o subiektywne opinie i konkretne przyklady a nie
generalizacje. co sie bardziej podoba, a co mniej. w czym c# ulatwia
zycie a z czym w c# trzeba sie meczyc. co moze sprawic, ze dostajac nowe
zadanie do rozwiazania wybierzecie wlasnie c#, i druga strona medalu, do
jakich zastosowan c# nie wybralibyscie nigdy w zyciu.
pozdrawiam,
Marcin.
-
2. Data: 2011-10-24 08:42:57
Temat: Re: c++ -> c#
Od: Adam Przybyla <a...@r...pl>
Sarr. <s...@g...pl> wrote:
> witam,
>
> mam luzne pytanie do tych, ktorzy doswiadczyli przejscia jak w temacie,
> czyli z c++ na c#. nie zrozumcie mnie zle, chodzi mi o to, zeby rzucac
> c++ na rzecz c#.
>
> chodzi mi o opinie o tym co w c# jest 'lepsze' a co 'gorsze', przy czym
> podkreslam, chodzi mi o subiektywne opinie i konkretne przyklady a nie
> generalizacje. co sie bardziej podoba, a co mniej. w czym c# ulatwia
> zycie a z czym w c# trzeba sie meczyc. co moze sprawic, ze dostajac nowe
> zadanie do rozwiazania wybierzecie wlasnie c#, i druga strona medalu, do
> jakich zastosowan c# nie wybralibyscie nigdy w zyciu.
... zaleznosc od platformy, jesli chcesz pisac na rozne
rozwiazania platformy latwiej ci to przeniesc w c++. Jesli piszesz dla przyjemnosci
lub ktos ci za to placi to c#, jesli cos tworzysz dla siebie lub chcesz
miec wieksza swobode dostawcy (konkurencja) to C++. Z powazaniem
Adam Przybyla
-
3. Data: 2011-10-24 12:06:21
Temat: Re: c++ -> c#
Od: Jacek Czerwinski <...@...z.pl>
W dniu 2011-10-24 10:16, Sarr. pisze:
> witam,
>
> mam luzne pytanie do tych, ktorzy doswiadczyli przejscia jak w temacie,
> czyli z c++ na c#. nie zrozumcie mnie zle, chodzi mi o to, zeby rzucac
> c++ na rzecz c#.
>
ZTCW nie linczuje się programistów za porzucenie C++, więc tłumaczyć się
nie musisz.
To że ktoś w MS wymyslił nazwę C#, to marketing i rady prawników, w
rzeczywistości to jako język jest najbardziej podobne do Javy a nie do C#.
Nie mówię o środowisku, 'ekosystemie', wzorcach, stylu programowania, tu
różnic do Javy jest wiele. Raczej w praktyce monokultura rozwiązań czy
na desktopie, czy na webie.
-
4. Data: 2011-10-24 12:08:47
Temat: Re: c++ -> c#
Od: Jacek Czerwinski <...@...z.pl>
W dniu 2011-10-24 14:06, Jacek Czerwinski pisze:
> jako język jest najbardziej podobne do Javy a nie do C#.
Oczywiście w zdaniu chodzi o C++, literówka.
-
5. Data: 2011-10-24 12:36:55
Temat: Re: c++ -> c#
Od: "Sarr." <s...@g...pl>
On 24-10-2011 14:06, Jacek Czerwinski wrote:
> W dniu 2011-10-24 10:16, Sarr. pisze:
>> witam,
>>
>> mam luzne pytanie do tych, ktorzy doswiadczyli przejscia jak w temacie,
>> czyli z c++ na c#. nie zrozumcie mnie zle, chodzi mi o to, zeby rzucac
>> c++ na rzecz c#.
>>
>
> ZTCW nie linczuje się programistów za porzucenie C++, więc tłumaczyć się
> nie musisz.
nie, nie porzucam c++...
co jakis czas slysze od kolegow, jakie to c# jest ciekawe... a to, ze
struktura katalogow z dysku jest widoczna takze w VC# [w VC++ mozna miec
worek plikow w katalogu, a tylko pokategoryzowane przez 'project
filters', takie virtualne katalogi widoczne tylko pod IDE, wtedy nigdy
nie wiadomo gdzie plik naprawde sie znajduje]... a to, ze nie ma plikow
naglowkowych... a to properties dla obiektow...
zastanawiam sie czy wglebiac sie w c#, chcialbym uslyszec kilka opinii o
c# od programistow c++...
pozdrawiam
Marcin.
-
6. Data: 2011-10-24 13:59:21
Temat: Re: c++ -> c#
Od: "Wojciech \"Spook\" Sura" <spook"mad@hatter"op.pl>
Dnia 24-10-2011 o 10:16:42 Sarr. <s...@g...pl> napisał(a):
> witam,
>
> mam luzne pytanie do tych, ktorzy doswiadczyli przejscia jak w temacie,
> czyli z c++ na c#. nie zrozumcie mnie zle, chodzi mi o to, zeby rzucac
> c++ na rzecz c#.
>
> chodzi mi o opinie o tym co w c# jest 'lepsze' a co 'gorsze', przy czym
> podkreslam, chodzi mi o subiektywne opinie i konkretne przyklady a nie
> generalizacje. co sie bardziej podoba, a co mniej. w czym c# ulatwia
> zycie a z czym w c# trzeba sie meczyc. co moze sprawic, ze dostajac nowe
> zadanie do rozwiazania wybierzecie wlasnie c#, i druga strona medalu, do
> jakich zastosowan c# nie wybralibyscie nigdy w zyciu.
Nigdy nie przechodziłem z C++ na C# w ścisłym sensie. IMO oba języki
dobrze się uzupełniają.
No to ciekawszych rzeczy:
* Automatyczne zarządzanie pamięcią. Nie ma czegoś takiego jak delete,
manager pamięci sam decyduje o tym, kiedy zwalniać pamięć (i zdarza się
czasami, że wychodzi mu to lepiej niż w programie napisanym w C++). Trzeba
natomiast pamiętać o zwalnianiu zasobów natywnych.
* Własności w klasach. Szkoda tylko, że wzorowali się na C++, a nie na
Delphi i nie można tworzyć indeksowanych własności. Analogiczny kod:
<C++>
class MyClass
{
public:
int GetValue(int index);
void SetValue(int index, const int value);
int GetValue2(int index);
void SetValue2(int index, const int value);
};
// Implementacje
// Użycie:
myClass.SetValue(5, 5);
</C++>
<C#>
public class ValueClass
{
public int this[int index]
{
get
{
// Implementacja
}
set
{
// Implementacja
}
}
}
public class Value2Class
{
public int this[int index]
{
get
{
// Implementacja
}
set
{
// Implementacja
}
}
}
public class MyClass
{
private ValueClass _valueClass;
private Value2Class _valueClass;
public ValueClass Value
{
get
{
return _valueClass;
}
}
public Value2Class Value2
{
get
{
return _value2Class;
}
}
}
// Użycie:
myClass.Value[5] = 5;
</C#>
<Delphi>
type TMyClass = class(TObject)
protected
function GetValue(index : integer) : integer;
procedure SetValue(index : integer; const newValue : integer);
function GetValue2(index : integer) : integer;
procedure SetValue2(index : integer; const newValue : integer);
public
property Value[index : integer] : integer read GetValue write SetValue;
property Value2[index : integer] : integer read GetValue2 write
SetValue2;
end;
// Implementacje
// Użycie:
myClass.Value[5] := 5;
</Delphi>
* Zdarzenia wbudowane w język. Nareszcie.
* Gotowce, gotowce, gotowce. W bibliotekach standardowych jest opakowane
prawie wszystko, co można chcieć zrobić z Windowsem. Sieć, rejestr,
rysowanie, wyrażenia regularne, dostęp do systemu plików, przetwarzanie
tekstu, XML. Tona gotowych generycznych struktur danych.
* Kolejność kompilacji plików nie gra roli, liczą się tylko namespace'y.
<Plik1.cs>
namespace MyNamespace
{
public class A
{
private B _b;
}
}
</Plik1.cs>
<Plik2.cs>
namespace MyNamespace
{
public class B
{
private A _a;
}
}
</Plik2.cs>
* Refleksje, czyli bardzo mocno rozbudowane RTTI. Nic się nie schowa,
jeśli ktoś się uprze, to może swobodnie rzeźbić po prywatnych polach klas.
Enumerować członków klas, łącznie z metodami i własnościami.
* Atrybuty (które można przypiąć do czegokolwiek). Przydają się w
niektórych sytuacjach, na przykład:
<C#>
public enum Colors
{
[MyAttribute(R=255, G=0, B=0)]
Red,
[MyAttribute(R=0, G=255, B=0)]
Green,
[MyAttribute(R=0, G=0, B=255)]
Blue
}
</C#>
Ciekawostka - Delphi w najnowszej wersji obsługuje również atrybuty (i
kompiluje do kodu natywnego); C++ niestety nie :)
* Typy generyczne bez refleksji nadają się tylko do konstruowania
kontenerów danych (na przykład nie można - jak w C++ - "na wiarę" zawołać
metody obiektu, którego typ jest określany podczas instancjonowania typu
generycznego)
Tyle z pamięci. Zachęcam do zapoznania się z językiem, jest bardzo ciekawy.
> pozdrawiam,
> Marcin.
Pozdrawiam -- Spook.
--
! ._______. Warning: Lucida Console sig! //) !
! || spk || www.spook.freshsite.pl / _ """*!
! ||_____|| spook at op.pl / ' | ""!
! | ___ | tlen: spoko_ws gg:1290136 /. __/"\ '!
! |_|[]_|_| May the SOURCE be with you! \/) \ !
-
7. Data: 2011-10-24 15:35:04
Temat: Re: c++ -> c#
Od: "Lelek@" <r...@i...iw>
"Sarr." <s...@g...pl> wrote in message
news:j836ta$efc$1@inews.gazeta.pl...
> witam,
>
> mam luzne pytanie do tych, ktorzy doswiadczyli przejscia jak w temacie,
> czyli z c++ na c#. nie zrozumcie mnie zle, chodzi mi o to, zeby rzucac c++
> na rzecz c#.
C# to programowanie pod maszyne wirtualna microsoftu, tak jak po
jave/dalvika w javie.
Nie tyle czy przechodzic na programowanie czy nie ale do czego ci to
potrzebne.
W C# nie popiszesz sobie do sprzetu przez winapi tak jak z c++
-
8. Data: 2011-10-24 15:55:04
Temat: Re: c++ -> c#
Od: Adam Przybyla <a...@r...pl>
Lelek@ <r...@i...iw> wrote:
>
> "Sarr." <s...@g...pl> wrote in message
> news:j836ta$efc$1@inews.gazeta.pl...
>> witam,
>>
>> mam luzne pytanie do tych, ktorzy doswiadczyli przejscia jak w temacie,
>> czyli z c++ na c#. nie zrozumcie mnie zle, chodzi mi o to, zeby rzucac c++
>> na rzecz c#.
>
> C# to programowanie pod maszyne wirtualna microsoftu, tak jak po
> jave/dalvika w javie.
> Nie tyle czy przechodzic na programowanie czy nie ale do czego ci to
> potrzebne.
> W C# nie popiszesz sobie do sprzetu przez winapi tak jak z c++
... od biedy sie da:
http://www.swig.org/Doc1.3/CSharp.html
ale i tak wtedy trzeba wtedy pisac w c++ ;-) Z powazaniem
Adam Przybyla
-
9. Data: 2011-10-24 16:28:34
Temat: Re: c++ -> c#
Od: "Robert Winkler" <n...@n...org>
>> mam luzne pytanie do tych, ktorzy doswiadczyli przejscia jak w temacie,
>> czyli z c++ na c#. nie zrozumcie mnie zle, chodzi mi o to, zeby rzucac
>> c++ na rzecz c#.
>
> C# to programowanie pod maszyne wirtualna microsoftu, tak jak po
> jave/dalvika w javie.
> Nie tyle czy przechodzic na programowanie czy nie ale do czego ci to
> potrzebne.
> W C# nie popiszesz sobie do sprzetu przez winapi tak jak z c++
Z maszyna wirtualna i brakiem dostepu do WinAPI to chyba jakies bzdury.
Nie ma zadnej .NETowej maszyny wirtualnej.
Kompilator na podstawie C# tworzy kod IL i zapisuje w plikach DLL i EXE.
Uruchamia go jednak dopiero wówczas gdy zostana przetlumaczone na kod
maszynowy.
Odpowiada za to JIT bedacy czescia Framework'a,
kod maszynowy nie musi byc jednak generowany przy kazdym starcie programu
za pomoca NGEN-a mozna go wygenerowac raz i przechowac na przyszlosc.
Co do WinAPI,
zapraszam na strone http://pinvoke.net/
sa tam tysiece snippetów pokazujacych jak odwolac sie z C# do róznych
bibliotek systemowych.
--
__________
Pozdrawiam
Robert Winkler
-
10. Data: 2011-10-24 17:20:25
Temat: Re: c++ -> c#
Od: A.L. <l...@a...com>
On Mon, 24 Oct 2011 08:42:57 +0000 (UTC), Adam Przybyla
<a...@r...pl> wrote:
>Sarr. <s...@g...pl> wrote:
>> witam,
>>
>> mam luzne pytanie do tych, ktorzy doswiadczyli przejscia jak w temacie,
>> czyli z c++ na c#. nie zrozumcie mnie zle, chodzi mi o to, zeby rzucac
>> c++ na rzecz c#.
>>
>> chodzi mi o opinie o tym co w c# jest 'lepsze' a co 'gorsze', przy czym
>> podkreslam, chodzi mi o subiektywne opinie i konkretne przyklady a nie
>> generalizacje. co sie bardziej podoba, a co mniej. w czym c# ulatwia
>> zycie a z czym w c# trzeba sie meczyc. co moze sprawic, ze dostajac nowe
>> zadanie do rozwiazania wybierzecie wlasnie c#, i druga strona medalu, do
>> jakich zastosowan c# nie wybralibyscie nigdy w zyciu.
> ... zaleznosc od platformy, jesli chcesz pisac na rozne
>rozwiazania platformy latwiej ci to przeniesc w c++. Jesli piszesz dla przyjemnosci
>lub ktos ci za to placi to c#, jesli cos tworzysz dla siebie lub chcesz
>miec wieksza swobode dostawcy (konkurencja) to C++. Z powazaniem
> Adam Przybyla
Poniewaz nie widze oryginalnego postu, to dopisze tutaj: Przejscie z
C++ co C# to jak przejscie z asemblera do jezyka wysokiego poziomu
A.L.