{{notification.text}}

MirGames

Хранитель Флейма
24.05.11 14:42
0
Чего может Delphi, чего не может C#?
Что может C#, чего не может Delphi?
#61
Швец, жнец, на дуде игрец
26.05.11 21:28
0
John S Moff,
Заранее извиняюсь за занудство, но С и С++ - все-таки разные языки, хоть и с похожим синтаксисом и как бы "обратной совместимостью". В С нет дженериков и шаблонов - он ведь прост как лопата. :) Но при этом это практичный и по-своему красивый язык.
Поэтому имею авторитетное мнение, что Си должен знать любой программист (хотя бы на минимальном уровне), а вот C++ - совсем не обязательно. :)
Отредактировано: 26.05.11 21:29
#62
26.05.11 21:41
0
ну, минимально я его знаю... тоесть могу портировать на Delphi. Мне этого достаточно!
#63
Хранитель Флейма
26.05.11 22:09
0
John S Moff
Мой любимый вопрос на понимание Delphi и C - нужно переписать эот код на Delphi:
Код

union Any {
  int i;
  char c[2];
};


Все очень просто. Но для себя отметь, что в гуглу ты глянул за базовой вещью. Можно сказать - основой языка. :)
#64
26.05.11 23:11
0
Код
type
Any = record  or (packed)
...
  i : integer;
  c : array [0..2] of Char;
...
end;
Отредактировано: 26.05.11 23:15
#65
26.05.11 23:38
0
John S Moff
Твой вариант даже не компилируется.

Код

type TAny=record
  case Boolean of
    false: i: Integer;
    true: c: array[0..1] of Char;
  end;
end;

Хотя, без заглядывания в доки не уверен, не напутал ли в синтаксисе - в Delphi эта возможность не так часто нужна.
Отредактировано: 26.05.11 23:38
#66
27.05.11 00:07
0
не компилируется из-за "or (packed)" это как вариант добавочный. считывание по порядку, для чаров, влияет на совместимость, но считывание данных медленее.
тоесть record ставишь, либо packed record.
Код

type
Any = record
...
  i : integer;
  c : array [0..2] of Char;
...
end;


или

Код

type
Any = packed record
...
  i : integer;
  c : array [0..2] of Char;
...
end;
Отредактировано: 27.05.11 00:12
#67
27.05.11 00:28
0
Такие вещи надо писать в комментариях (а то я уж было подумал что это какая-то незнакомаямне фишка Delphi). И все равно неправильно. Структура и объединение - это разные вещи. У Said'а именно объединение - i и c физически занимают одни и те же ячейки памяти.
Алсо, шаблоны не столь уж и малозначимое нововведение. Но во многих случаях жить можно и без него, правда писанины больше станет (а некоторые только на них и можно сделать).
Отредактировано: 27.05.11 00:29
#68
Хранитель Флейма
27.05.11 01:08
0
Vga и John S Moff
А второй способ? :)
#69
27.05.11 02:03
0
А что, их еще и два? Непосредственный аналог union'а в Delphi - то, что я привел. Второй - не знаю. Хотя можно например директивой absolute их по одному адресу запихать.
#70
27.05.11 02:11
0
в класс взять.
#71
Хранитель Флейма
27.05.11 02:12
0
Vga
Ладно, засчитано :)

Обычно разговор заканчивается на этапе case of, но если чувак в теме, он обязательно скажет про absolute, что вообще-то ближе к верному решению :)

John S Moff
Увы - эпик фейл. Оба твоих способа не верны. :(
#72
27.05.11 02:35
0
Said
Гм, а почему ближе? Аналог absolute в С все-таки выглядит несколько иначе. Насколько я помню, если делать case Type of, а не case V: Type of, то лишние поля в структуре не заводятся и она работает как сишное объединение.

А вот другой забавной сишной штучке, битфилду, АФАЙК прямого аналога в Delphi нет.
#73
27.05.11 02:38
0
И кстати, приведи решение своей задачки на шарпе, желательно с пояснением, как оно работает. В Ruby варианте нифига не понял, ибо руби не знаю вообще.
#74
27.05.11 02:47
0
да и пофиг :D
-
вот и скажите, как это понимать... темный лес этот, заморочек миллион...
Отредактировано: 27.05.11 02:59
#75
Программир Всия Руси!
27.05.11 03:10
0
John S Moff
Шаблоны есть в Delphi. Любая адекватная ООП архитектура их использует. Я просто как бы подтвердил что уровень кодинга находится на 9-м классе школы и по этому можно утвержать что в Delphi5 есть все что надо. Просто ты не писал сложных систем с мегабайтами кода и не дебажил их потом :)
Отредактировано: 27.05.11 03:11
#76
27.05.11 03:18
0
отлично конечно, ты оцениваешь чужой скилл ))
ладно, продолжать форменную демагогию - желания нет.
#77
27.05.11 04:14
0
Цитата(John S Moff @ 26.05.2011 - 15:37) [snapback]107884[/snapback]

DRON
Такое ощущение, что в России только такой стереотип, кодер не знающий Си, как бы и не кодер ;) И действительно, когда приезжаю сюда по работе, коллеги задают вопрос "А как вы там работаете, не зная Си?"
в нашем городе только 1С и не знающие его - не кодеры и работу с программированием не найдут.
#78
Хранитель Флейма
27.05.11 06:33
0
Код

// Y - исключаем из гласных - для простоты эксперимента.
// Вообще по хорошему для String просто делается расширение
// с именем VovelsCount = ) Но не в этот раз.

var namesYears = new Dictionary<String, Int32>()
{
    {"ivan", 30},
    {"aleksey", 30},
    {"dmitry", 24},
    {"evgeny", 27},
    {"maksim", 17},
    {"andrey", 22},
    {"fyodor", 27}
};

var results =
    from kvp in namesYears
    where kvp.Key.Count(c => "aoeiu".Contains(c)) % 2 == 0
    group kvp.Key by kvp.Value into g
    orderby g.Key
    select g;

// И как нить используем - например, тупо выводим на экран.

foreach (var group in results)
{
    Console.WriteLine(String.Format("Year group: {0}", group.Key));

    foreach (var name in group)
        Console.WriteLine(String.Format("\t* {0}", name));

    Console.WriteLine();
}

// Ruby со своим синтаксисом сосет. :) Но мы договорились фразу
// "не нравится begin / end" держать при себе,
// как субъективную.
Отредактировано: 27.05.11 06:35
#79
27.05.11 16:59
0
Пока в стране mirgames.ru будут бушевать холиварные войны в самой их куще как всегда будут сидеть Said в большом кресле-качалке грызть чипсы пить пиво и подбрасывать в огонь дров :)
#80
27.05.11 18:33
0
Хранитель флейма же как никак :D
#{{post.Index}}
{{post.Author.Login}}
{{post.CreatedDate | date:'dd.MM.yy HH:mm'}}
{{post.VotesRating}}
Отредактировано: {{post.UpdatedDate | date:'dd.MM.yy HH:mm'}}