Skocz do zawartości
adam16v

Informatyka

Rekomendowane odpowiedzi

Gość lukas_gab

Może jestem głupi ale c# jest szybsze w tworzeniu i wygodniejsze od c++ ? no ja skończyłem tablice funkcje pętle operatory i trochę jeszcze z c++ i to by błąd , postanowiłem się przerzucić na C# ale ... program standard HELLO WORLD i ... :

 

C#:

using System;

class Test {

static void Main( ) {

System.Console.WriteLine( " Witaj !!! " ) ;

}

}

 

C++:

 

#include<iostream.h>

main{

cout<<"Hello World" ;

}

 

Może ktoś wytłumaczyć jak to jest ? Może dopiero w parotysięczno linujkowych programach widać różnice ?A i jaką książkę polecacie do nauki ? umiem trochę c++ ( napisałem gierkę tekstowa na if else i pentlach ale jej już nie mam ... miała parę paragrafów ... stwierdziłem , że musze się trochę poduczyć , bo parę set paragrafów na if else można sie posrać , a i chciałem wprowadzić system walki .... jednym słowem z motyką na słonce ;d) Oczywiście w miare tania i treściwa , jak nie będzie tania to każdy wie jak zdobyć* książki jak są drogie ...

 

*Zaoszczędzić , zarobić, kupić ...

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

C++:

 

#include<iostream.h>

main{

cout<<"Hello World" ;

}

4 linijki i 4 bledy :P Wiem, czepiam sie :]

 

No niestety mam wrazenie ze nie ma dobrego jezyka programowania.

C++

+jezyk o bardzo duzych mozliwosciach, przykladem jestem biblioteka boost

+ulatwia pisanie szybkich programow (duza zasluga szablonow)

-standard nie definiuje ABI

-standard z 2003 roku nie mowi nic o watkach. (Jest to bardzo duzy minus). Z pomoca przychodzi OpenMP(VC++2005, g++ 4.2) i C++0x (na to musimy poczekac jeszcze z 3 lata)

-strasznie porabana skladnia, zwlaszcza przy szablonach, a C++0x wprowadza jeszcze kolejne rzeczy. Doprowadzi to do tego ze osoba zaczynajaca programowanie od C++ zeby jako tako poznac ten jezyk bedzie sie musiala uczyc go min 6-8lat.

 

Java

Nie cierpie tego jezyka. Wolny, nieczytelny (jezyk bez definiowania operatorow, blee ), prosty o malych mozliwosciach. Osobiscie widze dwa plusy, ktore nie sa plusami samego jezyka

+JVM -z jednej strony wolne to jest ale przynajmniej jest jakas przenosc. Ale czy do tego potrzebny byl jezyk Java? Nie! Istnieja nawet kompilatory C++ kompilujace do bytecodu Javy

+duzo ilosc bibliotek

 

C#

Jezyk taki sobie. Najwieksza zaleta to duza ilosc bibliotek. Ale tak jak juz pisalem to nie jest zaleta jezyka samego w sobie. Druga zaleta to swietnie narzedzie jakim jest Visual C#. Tylko kurcze to tez nie jest zaleta samego jezyka. No w C# 3.0 jakis plus moze sie znajdzie.

 

D

+Duze mozliwosci

+Jezyk czytelniejszy od C++ 2003

-Mala popularnosc i ilosc bibliotek.

-Nie ma az tak duzej przewagi zeby wygryzc C++.

-Skladnia tez nie jest taka prosta

 

Celowo nie wspominalem o Garbage Collector. Jak kazda rzecz i to ma swoje zalety i wady. Dlatego nie dalem tego ani do plusow ani do minusow.

 

Osobiscie pisze w C++, pod .NET pisze malo a jak juz to przewaznie w C++/CLI bo musze czesto dolaczac duzo kodu w C++. Mam nadzieje ze w ciagu 2 lat zmienie jezyk i raczej nie bedzie to zaden z tych.

Edytowane przez Megabyte

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Gość 05_03_1992

hmmm powoli sie ucze tego c#

i powiem, że jak się załapie początki (klasy, metody, struktury itd....)

to potem nauka idzie bardzo przyjemnie (przynejmniej narazie)

ja dzisiaj musze solidnie potrenowac bo czoraj nawet do tekstu nie zerknalem

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

C#:

using System;

class Test {

static void Main( ) {

System.Console.WriteLine( " Witaj !!! " ) ;

}

}

 

C++:

#include<iostream.h>

main{

cout<<"Hello World" ;

}

public class HelloWorldApp {	public static void main(String[] args) {		System.out.println("Hello World!"); // Display the string.	}}
Hehe Java lepsza od C# a nawet C++ , bo nie trzeba nic importować :D

 

Na początek spróbuj złożyć coś takiego , programik który będzie wymnarzał macierze .

Ewentualnie naklep sobie chat , zobaczysz różnicę , w Javie/C# zmieścisz się na bank w 1000 linijkach.

Albo zrób programik okienkowy ,który umożliwia np. wczytywanie obrazków (oczywiście jeśli obrazek jest zbyt duży to umożliwi przweijanie w okienku).

Gierkę typu memory z punktacją i odmierzaniem czasu.

Albo zrób sobie prosty program który korzysta z bazy danych,gniazdek,wątków,przetwarza dokumenty XML .

 

Jak uklepiesz cokolwiek z tego to zobaczysz różnicę.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Gość lukas_gab

Przepraszam , za błędy , to co pisałem , ze napisałem to napisałem z kursem , a to co teraz pisałem to tak z głowy szybko , i nawet kombilatorem nie sprawdzałem , a nie mam umiejętności maszynowego szukania błędów w kodzie ... ( kiedyś godzinę szukałem błędu , a okazało się , że nie miałem ; na końcu jednej instrukcji ) , to było jedynie obrazowe ... Ale nikt nie odpowiedział na moje pytanie , dlaczego c# jest prostszy , jak widać na przykładzie , ma bardziej zagmatwaną składnie ? Dalej , jaką polecacie książkę do nauki tego języka , i skoro .net istnieje od 2000 roku , to dlaczego znalazłem jedynie 3 kursy w necie ( polskie ) i to jeszcze w tym jeden dla zaawansowanych ? C++ jest z pół tony , a tego prawie , że nic ...A o D to w ogólnie nie słyszałem ... A i jakie teraz ma zastosowanie VB ? Podobno aplikacje z pod tego chodzą cienko a został dodany do VS2005 ?

 

------------

 

Zainim to napisałęm , to niewidziałem postu wyżej , w tym samym czasie chyba ;d

Edytowane przez lukas_gab

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

dlaczego c# jest prostszy , jak widać na przykładzie , ma bardziej zagmatwaną składnie ?

Bo używa domyślnie wszystkich bajerów znanych z C++ . Wygląd trochę na hybrydę Javy,C++ i Smalltalka.

 

W tym przykładzie :,musi być klasa

using System;//użyj przestrzeni nazw System jak w C++

class Test {//podejście jak w Javie

static void Main( ) {//pomieszanie C++ i Javy

System.Console.WriteLine( " Witaj !!! " ) ;//a to prawie jak Java

}

}

 

 

Do nauki programowania od podstaw to najlepsze są takie zestawy :

C++

  • Arkana C++
  • Thinking in C++ (trochę słabsze niż arkana, ale przydatne )
JavaC#--------------------------------------------------------------------------------------------------------

Nie ma wielkich różnic w prędkości działania C#,VB.NET,C++.NET czy innych języków NET bo wszystkie są

kompilowne do kodu CLR . VB był bardzo wygodnym narzędziem do programowania w Windows i MS office.

Zwłaszcza w USA ,a VB.NET jest właśnie przeznaczony dla programistycznych kobatantów takich 40,50 letnich.

Edytowane przez Haquim

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Gość lukas_gab

Mój wuja stary matematyk coś tam skleca w qbasic , to trza go trochę nawrócić ... Skoro zarówno c++ ma zamierzaną nową wersje , a c# ma być wydane w wersji 3.0 to co się bardziej opłaca uczyć ? Chodzi mi o programy zwykłe okienkowe , ale również o większe projekty.Ale ciągle nie rozumiem po kiego grzyba to : System.Console.WriteLine jak można to : cout << ?

 

-----------

 

Ciekawa pozycja co o tym myslicie dobre to ? klik

Edytowane przez lukas_gab

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

System.Console.WriteLine jak można to : cout << ?

System - przestrzeń nazw

Console - klasa

WriteLine - metoda

 

Uwaga : ten System to można sobie podarować ale, jeśli napiszesz własną klasę "Console" lub zamiportujesz inną przestrzeń nazw w której istnieje taka klasa i napiszesz coś takiego :

Console.WriteLine("").

kompilator nie będzie mógł stwierdzić o którą klasę ci chodzi ,aby zaznaczyć że chodzi ci o tą klasę z przestrzeni System wpisujesz to z przodu.

 

cout - to też klasa tylko że w c++ a << to normalnie jest przesunięcie bitowe w lewo ,ale akurat w

w cout ten operator jest przeciążony. Więc ktoś nie znający C++ mógłby też powiedzieć że to nie normalne ;)

 

A jak ci się nie podoba to się nie stresuj i rób wszystko w C++ (tylko wtedy warto się poduczyć Qt

Qt

lub GTK+ GTK+).

Obie te bibloteki mają swoje wersje do współpracy z C# (Qt# i GTK#) więc jeżeli opanujesz tworzenie aplikacji w jednej z nich za pomocą C++ przesiadka na C# będzie prosta.

Edytowane przez Haquim

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Gość lukas_gab

Nie , że mi sie nie podoba, ale troche to dużo obiętościowo jest ... Otrzywiscie jestem zainteresowany c#. Tak patrząc , to większosc argumentów wyższości c# nad c++ jest taka sama jak wyższości c++ nad c ciekawe co będzie po c# ... ( oby nie nastąpiło to szybko ;) )

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie , że mi sie nie podoba, ale troche to dużo obiętościowo jest ... Otrzywiscie jestem zainteresowany c#. Tak patrząc , to większosc argumentów wyższości c# nad c++ jest taka sama jak wyższości c++ nad c ciekawe co będzie po c# ... ( oby nie nastąpiło to szybko ;) )

CSharp nie zastąpi C++, w dyskusji wszystko to zostało już powiedziane. Jeśli chodzi o tworzenie oprogramowania nie wymgającego duzych mocy obliczeniowych dla windows to zastąpienie będzie mieć miejsce i na pewno go zastąpi , w pozostałych przypadkach na pewno nie... C++ zostanie zastąpiony przez inny jezyk może D, moze E...... w każdym razie musi to być coś NIEZARZADZANEGO, więc wszelkie wirtualne maszyny odpadają.

 

Co do argumentów o wyższości czy nie wyższości - to rynek decyduje co sie używa jesli rynek uznał ze w czymś tworzy się oprogramowanie znacznie szybciej, wygodniej bezproblemowo to właśnie tego sie będzie używać. Głównym argumentem dziś jest szybkość pisania oprogramowania i jego stabilność - dopracowana mechanika programu a nie zawracanie sobie głowy choćby wyciekami pamieci - to są właśnie głowne argumenty:

 

Garbage Collector, Namespace i .NET Framework

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

CSharp nie zastąpi C++, w dyskusji wszystko to zostało już powiedziane. Jeśli chodzi o tworzenie oprogramowania nie wymgającego duzych mocy obliczeniowych dla windows to zastąpienie będzie mieć miejsce i na pewno go zastąpi , w pozostałych przypadkach na pewno nie... C++ zostanie zastąpiony przez inny jezyk może D, moze E...... w każdym razie musi to być coś NIEZARZADZANEGO, więc wszelkie wirtualne maszyny odpadają.

Zdecydowanie sie nie zgadzam. Jak dla mnie nastepca C++ w kategorii szybkosc i mozliwosci bedzie jezykiem bardzo wysokiego poziomu (wyzszym niz obecne jezyki skryptowe) o bardzo prostej skladni. Nie bedzie takich rzeczy jak szablony bo jezyk bedzie mial lepsze odpowiedniki. Mam nadzieje ze taki jezyk wejdzie jeszcze przed 2010 rokiem. :D Do tego czasu bede programowal w cpp :]

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie wiem czy dobrze mnie zrozumiałeś :unsure: . Chodziło mi o to że język który będzie nastepcom C++ będzie musiał być przede wszysktim niezarządzanym językiem z bardzo duzymi możliwościami i duża szybkością, w wydajności i możliwościami powinien dorównywać a nawet lepiej aby przewyższał C++ bo tylko taki język nada się na tworzenie wirtualnych maszyn aby tacy jak np. ja mogli pisać w czymś zarządzanym jak CSharp. Aha koniecznie ten nowy język musi mieć nowoczesne elementy jak wbudowany odśmiecacz.... pytanie tylko jest takie... czy niezarządzny język może mieć odśmiecacz ;].... kto mi na nie odpowie (ja wiem) ;]

 

Do tego czasu bede programowal w cpp :]

Powodzenia. :mur:

 

A i jeszcze jedno Java i CSharp to języki do konkrentego celu (windows) i pod konkretne zadania (pisanie oprogramowania dla windows, może potem gry itd.), poprostu mają inne zastosowanie niż C/C++ tam gdzie to tlko możliwe powinno sie wybierać te dwa pierwsze, wysoka wydajność wymaga już tych dwóch drugich do czasu powstania ich następcy.

Edytowane przez razor1

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Gość lukas_gab

Czyli tak :

 

Aplikacje - c# java

Gry ( poważne projekty , z swoimi enginami ) -c/c++

Gry "proste" czyli rpg, typu adom , lub odchłań , jakieś strategie typu Menager Żużlowy ( ten wiem , że napisany w pascalu ) czy inne tego typu gry to w czym ? c++ ,a może coś starszego jak pascal ? Co polecacie do tego typu twórczości ?

 

Stwierdzam , że troche poczytam o c# i napisze program do stosowania dawek nowozowych w ogrodnictwie uzależnionych od odczytów z ph, ec metrów ... ciekawe to będzie i ułatwiające , życie ... Taki większy arkusz kalkulacyjny ...

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Gry "proste" czyli rpg, typu adom , lub odchłań , jakieś strategie typu Menager Żużlowy ( ten wiem , że napisany w pascalu ) czy inne tego typu gry to w czym ?

Oczywiście Javę (nawet platformówkę , na pełny ekran da się dosyć przyjemną zrobić) a jak nie lubisz

to C#/C++. jak się zaweźmiesz to nawet gierkę 3D można naklepać na DirectX.

Edytowane przez Haquim

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie wiem czy dobrze mnie zrozumiałeś :unsure: . Chodziło mi o to że język który będzie nastepcom C++ będzie musiał być przede wszysktim niezarządzanym językiem z bardzo duzymi możliwościami i duża szybkością, w wydajności i możliwościami powinien dorównywać a nawet lepiej aby przewyższał C++ bo tylko taki język nada się na tworzenie wirtualnych maszyn aby tacy jak np. ja mogli pisać w czymś zarządzanym jak CSharp. Aha koniecznie ten nowy język musi mieć nowoczesne elementy jak wbudowany odśmiecacz.... pytanie tylko jest takie... czy niezarządzny język może mieć odśmiecacz ;].... kto mi na nie odpowie (ja wiem) ;]

Powodzenia. :mur:

 

A i jeszcze jedno Java i CSharp to języki do konkrentego celu (windows) i pod konkretne zadania (pisanie oprogramowania dla windows, może potem gry itd.), poprostu mają inne zastosowanie niż C/C++ tam gdzie to tlko możliwe powinno sie wybierać te dwa pierwsze, wysoka wydajność wymaga już tych dwóch drugich do czasu powstania ich następcy.

To w końcu co chcesz mieć? Język niezarządzany czy szybki? W ogóle co rozumiesz pod pojęciem niezarządzany?

 

A przy cpp zostaje dlatego że bardzo dobrze go znam i mam w nim kupe kodu napisanego, którego moge wykorzystać w następnych programach. Pisanie tego od nowa w C# byłoby bez sensu.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Gość lukas_gab

Kurcze od 2 dni borykam sie z problemem , że jak chce utworzyc nowy projekt w VC# to karze mi zaglądnąć do dziennika zdarzeń i wyswietla puste okno .. zna ktoś lekarstwo na to ? Koś pracuje w VS i się z tym spotkał ?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

W ogóle co rozumiesz pod pojęciem niezarządzany?

No cóz to podwaliny rozumowania jak działa język programowania kod nie zarzadzany i zarządzany, dwie różne koncepcje do pewnego czasu był tylko ten pierwszy... Jak nie łapiesz to główne pojęcie związane z tym to wirtualna maszyna, managed-unmanaged code, prosze tu artykuł, po przeczytaniu którego powinno się wyjaśnić http://blogs.msdn.com/brada/archive/2004/01/09/48925.aspx

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

No cóz to podwaliny rozumowania jak działa język programowania kod nie zarzadzany i zarządzany, dwie różne koncepcje do pewnego czasu był tylko ten pierwszy... Jak nie łapiesz to główne pojęcie związane z tym to wirtualna maszyna, managed-unmanaged code, prosze tu artykuł, po przeczytaniu którego powinno się wyjaśnić http://blogs.msdn.com/brada/archive/2004/01/09/48925.aspx

Hehe. Nie zrozumiałeś mnie. Ja się nie pytałem co to jest kod niezarządzany tylko jak Ty to rozumiesz. Po prostu nie potrzebnie sztucznie tworzysz podział na języki na zarządzane i niezarządzane, wielbisz garbage collector i jeszcze uważasz że to nowość. Ja żadnej magi w słowie "managed" nie widzie. Praktycznie każdy kompilator można rozdzielić na frontend i backend.

 

Za C# nie przepadam dlatego ze jest na .NET tylko dlatego że ma małe możliwości jako język. Dla mnie metaprogramming to podstawa. C# jest popularny tylko dzięki dużej ilość bibliotek i dobrym Visual C#.

 

Ta jak pisałem, następca C++ to według mnie język zdecydowanie wysokiego poziomu (metaprogramming obowiązkowy oczywiście). Można powiedzieć że będzie to język zarządzany ale nie tak ja robi to .NET Framework. Będzie szybszy od C# i nawet C++0x.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Za C# nie przepadam dlatego ze jest na .NET tylko dlatego że ma małe możliwości jako język. Dla mnie metaprogramming to podstawa.

Dlaczego ma małe możliwości ?

A co ten metaprogramming (metaprogramowanie)?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

tylko jak Ty to rozumiesz.

Właśnie tak jak tam jest opisane.

 

wielbisz garbage collector

Dokładnie! to bardzo ważna rzecz.

 

Za C# nie przepadam dlatego ze jest na .NET tylko dlatego że ma małe możliwości jako język.

No właśnie! właśnie z tego powodu CSharp czy JAVA nigdy C++ nie zastąpi - bo to języki do innych celów. Każdy ma swoje preferencje i jakieś wstępne wymagania co chce robić i do tego dopiero mozna dobierać język.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dlaczego ma małe możliwości ?

A co ten metaprogramming (metaprogramowanie)?

Metaprogramming to pisanie programów do pisania programów :wink: Pozwala to na rozszerzerzenie języka o funkcje, które nie przewidzieli sami autorzy języka. Metaprogramming w C++ nie jest rewelacyjny ale przynajmniej jest. Poczytaj o języku szablonów.

 

razor1:

Tylko widzisz, ja wole mieć język który pozwoli mi pisać szybkie programy szybciej niż w C# :P Osobiście dla mnie Java i C# to taka ślepa uliczka. Ślepa pod względem składni i możliwości języka, nie samej idei kodu zarządzanego.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Metaprogramming to pisanie programów do pisania programów :wink: Pozwala to na rozszerzerzenie języka o funkcje, które nie przewidzieli sami autorzy języka. Metaprogramming w C++ nie jest rewelacyjny ale przynajmniej jest. Poczytaj o języku szablonów.

E w C# też są szablony, w C# 3.0 nawet leniwe typowanie za pomocą var zmienna = 4 i już jest to int.

zC_sharp

refleksje i atrybuty (metaprogramowanie): w czasie pracy programu istnieje możliwość analizy struktury kodu z poziomu tego kodu. Umożliwia to tworzenie wysoce uniwersalnych mechanizmów operujących na strukturze kodu nie znanej w czasie kompilacji. Mechanizm ten wykorzystywany jest m.in. w bibliotekach ORM, narzędziach do analizy i weryfikacji kodu czy rozszerzeniach AOP. Mechanizm atrybutów został z C# zapożyczony do Javy w wersji 1.5.

W Javie i Smalltalku też jest. Trzeba tylko sie odwołać do obiektu metaklasy.

Edytowane przez Haquim

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Haquim:

C# i Java ma Generics. Tylko w porównaniu do szablonów w C++ jest to bardzo ubogie i nie umożliwia metaprogrammingu.

 

"Of the three languages discussed here, C++ is the only one that has native

metaprogramming facilities. Both Java and C# require external pre-processors

or complex libraries that are capable of generating code, which then needs to

be compiles separately. The fact is that few programmers know of metaprogramming

techniques, make use of them or use them correctly. Nevertheless,

metaprogramming can be used to accomplish a lot of good things, and it is a

real weakness in a language to exclude such features at a native level."

 

Źródło

 

A ten cytat z wikipedi to jest śmieszny. Sprawdzałem angielską strone wikipedii i tam już takich głupot nie piszą. Czy te refleksje to reflection? Jeżeli tak to gratuluje tłumaczowi. No i nie o takie metaprogramowanie chodzi (jeżeli to można nazwać w ogole metaprogramowaniem :| )

 

A w C++0x masz

auto zmienna=4; i juz masz int :P

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Aha , to fajnie.

Chociaż w sumie te szablony w C++ to zabawka dla preprocesora (czyli operowanie de fakto na tekscie) i jako takie moze zostac zaadaptowane takze w Javie czy C# nie ?

PS: Szperając w sieci ,Znalazłem całkiem fajną stronkę o Pythonie i szablonach hehe.

link

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Aha , to fajnie.

Chociaż w sumie te szablony w C++ to zabawka dla preprocesora (czyli operowanie de fakto na tekscie) i jako takie moze zostac zaadaptowane takze w Javie czy C# nie ?

Szablony to nie zabawka dla preprocesora. To raczej męczarnia dla kompilatora. Kilkuset linijkowe programy potrafią się kompilować kilkanaście minut na mocnym sprzęcie. Kolejnym minusem jest dość trudne wyszukiwanie błędów. Z tych właśnie powodów nie wydaje mi się żeby szablony trafiły do C# albo do Javy, nie w takiej postaci jak C++. Pozatym poczytaj dokładnie link, który podałem w poprzednim poście. Zwróć uwage na to że szablony w C++ = polimorfizm statyczny, Generics w Java i C# = polimorfizm dynamiczny.

 

Osobiście mam pomysł na całkowite zastąpienie szablonów lepszym odpowiednikiem jednak zaimplementowanie tego w C# i Javie jest niemożliwe.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Atrybuty i mechanizm refleksji w C# to zupełnie inna bajka, to nie cecha CSharp jako takiego a cecha platformy .NET i jest to nierozerwalnie z nią związane. A mechanizm refleksji mozna uzywać do róznych celów jak sie można łatwo domlyśleć od zwykłego przeglądania metadanych, tworzenie nowych typów danych w czasie pracy programu. Oczywiście to wszystko w czasie działania programu.

 

C# 3.0 nawet leniwe typowanie za pomocą var zmienna = 4 i już jest to int.

^^ Mam nadzieje że nie bedom tego nadużywać :D

 

Nadużywać w sensie stosowania tego przez programistów bo źle zastosowanie może wprowadzic niezłe zamieszanie. Ale na pewno moze to uproscić wiele spraw związanych choćby z tworzeniem i dokumentowaniem bibliotek...

 

heh ale sie bigosik robi :]

ale ja juz sie bede c# uczyl jak zaczalem.... potem moze jakas java i c++

pozdr

Eee tam bigosik :lol2: poprostu to nie zachód ludzie wpierw musza sie przekonać, też tak myślałem że głupi język że małe możliwości nie znając wogóle jego podstaw i możliwości... aż do czasu bliższego poznania.

Teraz jak widze hybrydowo-"obiektową" składnie C++ to aż mnie skreca... wogóle bym sie tego języka (C++) nie uczył i od początku bym zaczynał od CSharpa od momentu jego powstania :cry: :cry: :cry:

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Atrybuty i mechanizm refleksji w C# to zupełnie inna bajka, to nie cecha CSharp jako takiego a cecha platformy .NET i jest to nierozerwalnie z nią związane. A mechanizm refleksji mozna uzywać do róznych celów jak sie można łatwo domlyśleć od zwykłego przeglądania metadanych, tworzenie nowych typów danych w czasie pracy programu. Oczywiście to wszystko w czasie działania programu.

No niestety Reflection w C# to jakas wielka proteza a System.Reflection.Emit jest tak prosty w użyciu że już lepiej łatwiej napisać program w C++, który stworzy metode (wpisując do pamięci opcody) i wywoła ją. W każdym bądź razie lepsze to niż nic. W C++ na razie nie ma w ogóle Reflection (pojawi się pewnie dopiero w czwartej wersji standardu).

 

Eee tam bigosik :lol2: poprostu to nie zachód ludzie wpierw musza sie przekonać, też tak myślałem że głupi język że małe możliwości nie znając wogóle jego podstaw i możliwości... aż do czasu bliższego poznania.

Teraz jak widze hybrydowo-"obiektową" składnie C++ to aż mnie skreca... wogóle bym sie tego języka (C++) nie uczył i od początku bym zaczynał od CSharpa od momentu jego powstania :cry: :cry: :cry:

LOL. Wynisz C++ za to że daje Ci wybór?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Teraz jak widze hybrydowo-"obiektową" składnie C++ to aż mnie skreca... wogóle bym sie tego języka (C++) nie uczył i od początku bym zaczynał od CSharpa od momentu jego powstania :cry: :cry: :cry:

A ja bym się tylko UMLa uczył ,Analitycy i Architekci zarabiają przecież więcej niż programiści ? Edytowane przez Haquim

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie



×
×
  • Dodaj nową pozycję...