vladislav
> если в C# они назывются деструкторы - это проблема C#
Нашёл, к чему придраться. В C# это лишь синтаксический сахар, чтобы вас, убогеньких, не вводить в шоковое состояние.
MyClass
{
~MyClass( ) { }
}Всё равно в конце-концов никакого деструктора нет. Есть финализатор Object.Finalize(), который и будет дёргаться.
В C++/CLI пошли несколько другим путём:
MyClass
{
public:
~MyClass( )
{
// на самом деле это IDisposable.Dispose();
}
!MyClass( )
{
// а это финализатор Object.Finalize();
}
};что тоже имеет смысл.
Вообще, не понимаю, зачем было создавать язык, более убогий чем Java, которая в свою очередь более убогая, чем C#. 
"Южнокорейская корпорация Samsung сообщила о скором появлении на рынке новой операционной системы bada с открытым кодом, являющейся собственной разработкой компании."
Не мудрено, если скоро Самсунг сделает свой язык для этой ОС...
Как же они задолбали...
Пусть все компании создают комитет, создают одну ОС, один язык, один стандарт и не парят мозг...
Executor
> Не мудрено, если скоро Самсунг сделает свой язык для этой ОС...
Сначала ОС, потом язык? Это как? Переписывать чтоли?
X512
> Сначала ОС, потом язык? Это как? Переписывать чтоли?
ОС не обязана быть написана на этом новом языке, чтобы его продвигать вместе с ОС...
Executor
> Пусть все автокомпании создают комитет, создают одно топливо, один привод, один машину и
> не парят мозг...
du_hast
Приведённый пример не ясен...
Топливо и так почти одно...
NightmareZ
> Всё равно в конце-концов никакого деструктора нет.
"Ты суслика видишь? — Нет. — И я нет. А он есть!"
Я не придирался (тут про С-за-решёткой вообще речь не идёт) - просто незачем было вводить терминологическую путаницу и смущать неокрепшие умы аклайтов GC-всемогущего :)
Executor
Я не считаю плохим то, что C++, C# и Ruby различаются.
du_hast
> Я не считаю плохим то, что C++, C# и Ruby различаются.
Ну вот напиши одно приложение для разных платформ на всех этих разных языках... Тебя не запарит одно и тоже на 10 языках написать?
При этом учитывая ещё закидоны каждой ОС...
Тут проблема на одном языке написать кроссплатформенное приложение, благо есть библиотеки помогающие в этом, а здесь нужно под каждую платформу на своём языке писать...
Может тебе нравится изучать каждый год новый язык, а мне вот както не прикольно изучать язык, только потому что какойто бородатый дядька так захотел сделать...
ну вот уже есть сравнение
Go vs C++ raytracer
http://grammerjack.blogspot.com/2009/11/multi-threaded-go-raytracer.html
"I wrote a simple multi-threaded ray tracer in Google's new "go" language. It's an adaptation of Flying Frog Consultancy's Raytracer."
в блоге написано что с++ трейсер и бенчмирки по нему находится тута "Flying Frog Consultancy's Raytracer"
http://www.ffconsultancy.com/languages/ray_tracer/comparison.html
Чот не понял где там Си++ замеры...
По поводу контейнеров без шаблонов,
vec := vector.New(0);
vec.Push(123);
vec.Push("string value");
type St struct { a int; str string};
st := &St{ 0, "asdf" };
vec.Push(st);
for i := 0; i < vec.Len(); i++ {
fmt.Printf("%+v \n", vec.At(i));
}
fmt.Println();
lst := list.New();
lst.PushBack(12);
lst.PushBack("qwerty");
for e := range lst.Iter() {
fmt.Printf("%+v \n", e);
}123
string value
&{a:0 str:asdf}
12
qwerty из vector.go
// Element is an empty-interface object representing the contents of
// a cell in the vector.
type Element interface{}
...namot
>По поводу контейнеров без шаблонов
такой подход нам как бы автоматически намекает, что все ноды к контейнере полиморфны. следовательно, работа с ними в рантайме не может быть достаточно быстрой по определению. нет, я не говорю, что это уг, просто язык пытается занять явно не ту нишу, в которой сейчас находится C++.
Сравнение похоже некорректное,
$ g++ -O3 ray.cpp -o ray $ time ./ray > out.pgm real 0m59.645s user 0m54.163s sys 0m0.676s
$ make 8g gotrace.go 8l -o gotrace gotrace.8 $ time ./gotrace real 0m14.149s user 0m12.877s sys 0m0.212s
это только тест для Go, а не сравнение.
Тема в архиве.