ФлеймФорумПрограммирование

Go — Новый язык программирования от Google (6 стр)

Страницы: 13 4 5 6 7 8 Следующая »
#75
6:14, 13 ноя 2009

vladislav
> если в C# они назывются деструкторы - это проблема C#
Нашёл, к чему придраться. В C# это лишь синтаксический сахар, чтобы вас, убогеньких, не вводить в шоковое состояние.

MyClass
{
  ~MyClass() { }
}

Всё равно в конце-концов никакого деструктора нет. Есть финализатор Object.Finalize(), который и будет дёргаться.

В C++/CLI пошли несколько другим путём:

MyClass
{
public:
  ~MyClass()
  {
    // на самом деле это IDisposable.Dispose();
  }

  !MyClass()
  {
    // а это финализатор Object.Finalize();
  }
};

что тоже имеет смысл.

#76
6:17, 13 ноя 2009

Вообще, не понимаю, зачем было создавать язык, более убогий чем Java, которая в свою очередь более убогая, чем C#. swiborg

#77
11:17, 13 ноя 2009

"Южнокорейская корпорация Samsung сообщила о скором появлении на рынке новой операционной системы bada с открытым кодом, являющейся собственной разработкой компании."

Не мудрено, если скоро Самсунг сделает свой язык для этой ОС...
Как же они задолбали...
Пусть все компании создают комитет, создают одну ОС, один язык, один стандарт и не парят мозг...

#78
11:23, 13 ноя 2009

Executor
> Не мудрено, если скоро Самсунг сделает свой язык для этой ОС...
Сначала ОС, потом язык? Это как? Переписывать чтоли?

#79
11:26, 13 ноя 2009

X512
> Сначала ОС, потом язык? Это как? Переписывать чтоли?

ОС не обязана быть написана на этом новом языке, чтобы его продвигать вместе с ОС...

#80
11:29, 13 ноя 2009

Executor
> Пусть все автокомпании создают комитет, создают одно топливо, один привод, один машину и
> не парят мозг...

#81
11:32, 13 ноя 2009

du_hast
Приведённый пример не ясен...
Топливо и так почти одно...

#82
11:33, 13 ноя 2009

NightmareZ
> Всё равно в конце-концов никакого деструктора нет.
"Ты суслика видишь? — Нет. — И я нет. А он есть!"
Я не придирался (тут про С-за-решёткой вообще речь не идёт) - просто незачем было вводить терминологическую путаницу и смущать неокрепшие умы аклайтов GC-всемогущего :)

#83
11:49, 13 ноя 2009

Executor

Я не считаю плохим то, что C++, C# и Ruby различаются.

#84
12:02, 13 ноя 2009

du_hast
> Я не считаю плохим то, что C++, C# и Ruby различаются.

Ну вот напиши одно приложение для разных платформ на всех этих разных языках... Тебя не запарит одно и тоже на 10 языках написать?
При этом учитывая ещё закидоны каждой ОС...

Тут проблема на одном языке написать кроссплатформенное приложение, благо есть библиотеки помогающие в этом, а здесь нужно под каждую платформу на своём языке писать...
Может тебе нравится изучать каждый год новый язык, а мне вот както не прикольно изучать язык, только потому что какойто бородатый дядька так захотел сделать...

#85
19:43, 13 ноя 2009

ну вот уже есть сравнение
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

#86
21:32, 13 ноя 2009

Чот не понял где там Си++ замеры...

#87
22:18, 13 ноя 2009

По поводу контейнеров без шаблонов,

  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{}

...
#88
22:23, 13 ноя 2009

namot
>По поводу контейнеров без шаблонов
такой подход нам как бы автоматически намекает, что все ноды к контейнере полиморфны. следовательно, работа с ними в рантайме не может быть достаточно быстрой по определению. нет, я не говорю, что это уг, просто язык пытается занять явно не ту нишу, в которой сейчас находится C++.

#89
22:37, 13 ноя 2009

Сравнение похоже некорректное,

$ 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, а не сравнение.

Страницы: 13 4 5 6 7 8 Следующая »
ФлеймФорумПрограммирование

Тема в архиве.