Форум: "Прочее";
Текущий архив: 2009.09.06;
Скачать: [xml.tar.bz2];
ВнизC++ to Delphi Найти похожие ветки
← →
nach (2009-06-10 16:35) [0]Всем привет!
Помогите, плиз, перевести:
typedef char* (*char_ftype)(void*, char*);
← →
KSergey © (2009-06-10 16:45) [1]type char_ftype = function (p:Pointer; pc:PChar):PChar; cdecl;
← →
nach (2009-06-10 16:50) [2]Спасибо
← →
pasha_golub © (2009-06-10 17:13) [3]Я бы PAnsiChar посоветовал настоятельно
← →
nach (2009-06-10 21:07) [4]
> pasha_golub © (10.06.09 17:13) [3]
Почему?
а с этим не подскажите:
class CS : public CSM{
public: CS() : CSM( (const char**) g, (int) sizeof(g)/sizeof(g[0]) ) {}
};
знаю только, что это такое: (int) sizeof(g)/sizeof(g[0]), остальное же...
← →
palva © (2009-06-10 21:14) [5]Описание класса, в котором определен пустой конструктор по умолчанию, при вызове которого вызывается конструктор родительского класса, который, по-видимому, заполняет поле g.
← →
DevExpress (2009-06-10 21:16) [6]
> palva © (10.06.09 21:14) [5]
вах, спасибо...
← →
DevExpress (2009-06-10 21:17) [7]
> DevExpress (10.06.09 21:16) [6]
DevExpress = nach
← →
DesWind (2009-06-10 23:32) [8]Хех, понаставили скобок фих, поймешь что это такое... Сугубо мое личное мнение... Чего все так за этот язык дЕржатся?
← →
DVM © (2009-06-11 01:36) [9]
> DesWind
это еще что, бывает такую абракадабру напишут, что диву даешься.
for(;P("\n").R-;P("|"))for(e=3DC;e-;P("_"+(*u++/8)%2))P("| "+(*u/4)%2);
← →
AndreyV © (2009-06-11 02:02) [10]> [9] DVM © (11.06.09 01:36)
>
> > DesWind
>
> это еще что, бывает такую абракадабру напишут, что диву
> даешься.
>
> for(;P("\n").R-;P("|"))for(e=3DC;e-;P("_"+(*u++/8)%2))P("|
> "+(*u/4)%2);
BrainFuck?:)
← →
TUser © (2009-06-11 07:57) [11]Создатели Cи и UNIX признают, что разыграли весь мир
В заявлении, потрясшем весь компьютерный мир, Кен Томпсон, Деннис
Ричи и Брайан Керниган признали, что операционная система UNIX и язык
программирования Си, созданные ими -- тщательно спланированный
первоапрельский розыгрыш, "продержавшийся" более 20 лет. Выступая на
последнем Конгрессе разработчиков программного обеспечения для ОС ДЕМОС
(UnixWorld Software Development Forum), Томпсон признал следующее:
"В 1969 году AT&T завершила работу над проектом операционной системы
Multics (известная операционная система 60-х, см. прим.2) Брайан и я
только что начали работу с ранней реализаций Паскаля, разработанной в
лаборатории проф. Вирта в Швейцарии, и находились под впечатлением
элегантности, простоты и мощи этого языка. Деннис как раз прочитал
"Уставший от колец", веселую сатиру на знаменитую трилогию Толкина
"Властелин колец" (*1*). Ради шутки мы решили написать пародии на среду
Multics и Паскаль. Деннис и я отвечали за операционную среду. Глядя на
Multics, мы спроектировали новую систему настолько сложной и запутанной,
чтобы максимально "испортить жизнь" рядовым пользователям, назвали ее UNIX
как пародию на Multics, добавив много других достаточно рискованных
аналогий.
Затем Деннис и Брайан разработали по-настоящему извращенный диалект
Паскаля, назвав его "A". Когда мы обнаружили, что другие действительно
пытаются писать программы на A, мы быстро добавили еще парочку хитрых
примочек, создав B, BCPL, и, наконец, Си. Мы остановились, добившись
успешной компиляции следующего:
for(;P("\n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("| "+(*u/4)%2);
Мы не могли даже представить, что современные программисты будут
пытаться использовать язык, допускающий подобный оператор! Мы даже
собирались продать все это Советам, чтобы отбросить развитие их
компьютерного дела на 20 лет назад (*2*). Представьте наше удивление,
когда AT&T, а также другие американские корпорации начали пытаться
использовать UNIX и Си! Более 20 лет ушло на то, чтобы приобрести
достаточный опыт для создания хоть немного полезных приложений с
использованием этой технологической пародии 60-х. Мы были поражены
упорством и целеустремленностью (если не чувством здравого смысла)
типичного программиста, использующего UNIX и/или Си. В любом случае,
Брайан, Деннис и я в течение последних лет работали исключительно на
Паскале в среде Apple Macintosh и чувствуем себя по-настоящему виноватыми
в том хаосе, путанице и действительно скверном программировании, причиной
которых явилась наша неудачная шутка столько лет тому назад."
Большинство поставщиков версий UNIX и Си, включая AT&T, Microsoft,
Hewlett-Packard, GTE, NCR, DEC, отказались комментировать это выступление.
Borland International, ведущий производитель инструментальных средств для
Паскаля и Си, включая популярные Турбо Паскаль, Турбо Си и Турбо Си++,
заявил, что они давно подозревали это и будут продолжать улучшать свои
разработки для Паскаля и прекратят дальнейшие усилия по развитию Си.
Официальный представитель IBM разразился безудержным хохотом и был
вынужден отменить спешно собранную конференцию о судьбе RS6000 заявив, что
"VM появится в ближайшее время". В непонятом аудиторией кратком сообщении
проф. Вирт, отец Паскаля, Модулы-2 и Оберона, сказал лишь, что некто P.T.
Barnum был прав.
Кстати, из обычно совершенно надежных источников стало известно, что
подобное признание возможно скоро последуют от Вильяма Гейтса относительно
MS-DOS и Windows. Не случайно, вышеупомянутый представитель IBM уже начал
отрицать, что Виртуальная Машина (VM) является созданной для внутреннего
употребления аналогичной шуткой, вырвавшейся наружу.
← →
Псалтырь © (2009-06-11 09:38) [12]
> Создатели Cи и UNIX признают, что разыграли весь мир
НУ сколько можно этот баян постить?
← →
Аноним (2009-06-11 09:53) [13]
> Хех, понаставили скобок фих, поймешь что это такое... Сугубо
> мое личное мнение... Чего все так за этот язык дЕржатся?
>
на Лисп гляньте
← →
icWasya © (2009-06-11 10:03) [14]Это не самое страшное. Есть ещё PERL
http://www.linux.org.ru/view-message.jsp?msgid=392747
← →
nach (2009-06-11 13:05) [15]в программе используется структуры:
std::map<int, string>
std::vector...
std::pair...
это что такое? Где можно прочесть подробно об этих фишечках, чтобы на дельфи написать?
← →
clickmaker © (2009-06-11 13:17) [16]> Где можно прочесть подробно об этих фишечках
это STL - Standard Template Library
в дельфи частично есть похожие - TList, TStringList, TCollection etc
для словарей вроде есть сторонние компоненты
← →
DevExpress (2009-06-11 13:19) [17]
> clickmaker © (11.06.09 13:17) [16]
пасиба
← →
XentaAbsenta © (2009-06-11 21:34) [18]ненавижу C, почему я должен расшифровывать,вместо того, чтобы читать
← →
Игорь Шевченко © (2009-06-11 22:36) [19]
> ненавижу C, почему я должен расшифровывать,вместо того,
> чтобы читать
У ряда людей в мозгу отсутствует участок, отвечающий за понимание семантики языка. Это бывает, им просто стоит посмотреть в сторону других профессий, не менее почетных, например, связанных с работой на свежем воздухе.
← →
DVM © (2009-06-11 23:04) [20]
> Игорь Шевченко © (11.06.09 22:36) [19]
> У ряда людей в мозгу отсутствует участок, отвечающий за
> понимание семантики языка
Да неужели? Это ненормальный язык программирования на котором можно так писать:
#include <stdio.h>
main(t,_,a)char *a;{return!0<t?t<3?main(-79,-13,a+main(-87,1-_,
main(-86,0,a+1)+a)):1,t<_?main(t+1,_,a):3,main(-94,-27+t,a)&&t==2?_<13?
main(2,_+1,"%s %d %d "):9:16:t<0?t<-72?main(_,t,
"@n"+,#"/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l+,/n{n+,/+#n+,/#
;#q#n+,/+k#;*+,/"r :"d*"3,}{w+K w"K:"+}e#";dq#"l
q#"+d"K#!/+k#;q#"r}eKK#}w"r}eKK{nl]"/#;#q#n"){)#}w"){){nl]"/+#n";d}rw" i;#
){nl]!/n{n#"; r{#w"r nc{nl]"/#{l,+"K {rw" iK{;[{nl]"/w#q#n"wk nw"
iwk{KK{nl]!/w{%"l##w#" i; :{nl]"/*{q#"ld;r"}{nlwb!/*de}"c
;;{nl"-{}rw]"/+,}##"*}#nc,",#nw]"/+kd"+e}+;#"rdq#w! nr"/ ") }+}{rl#"{n" ")#
}"+}##(!!/")
:t<-50?_==*a?putchar(31[a]):main(-65,_,a+1):main((*a=="/")+t,_,a+1)
:0<t?main(2,2,"%s"):*a=="/"||main(0,main(-61,*a,
"!ek;dc i@bK"(q)-[w]*%n+r3#l,{}: uwloca-O;m .vpbks,fxntdCeghiry"),a+1);}
← →
Игорь Шевченко © (2009-06-11 23:29) [21]DVM © (11.06.09 23:04) [20]
Если ты чуточку отвлечешься от шаблонного мышления, то поймешь, что дело не в языке.
И (я тебе по секрету скажу, ты сам запомни, а больше никому ни-ни) так, как ты привел в примере, программы не пишут. То, что написано для шутки не следует воспринимать как руководство к действию или как стандарт для написания программ на С.
В свое время для паскалевских исходников был обфускатор - он на выходе выдавал компилируемый исходник, но понятности в нем было столько же, сколько в твоем примере на С.
← →
DVM © (2009-06-12 00:04) [22]
> Игорь Шевченко © (11.06.09 23:29) [21]
> Если ты чуточку отвлечешься от шаблонного мышления, то поймешь,
> что дело не в языке.
Задела, я смотрю, моя фраза про шаблонное мышление в ветке про иллюстрацию к сказке про репку.
> И (я тебе по секрету скажу, ты сам запомни, а больше никому
> ни-ни) так, как ты привел в примере, программы не пишут.
Я тебе тоже скажу по секрету (сам запомни и другим расскажи), что пишут еще как и еще похлеще. Думают. что это очень круто, если они напишут в одну строку нечитаемую то, что на других языках, таких как паскаль займет строк 5-10, но читаемых.
> То, что написано для шутки не следует воспринимать как руководство
> к действию или как стандарт для написания программ на С.
Шутников че-то много судя по огромному количеству исходников на СИ
> В свое время для паскалевских исходников был обфускатор
> - он на выходе выдавал компилируемый исходник, но понятности
> в нем было столько же, сколько в твоем примере на С.
Не думаю, что кусок паскалевского кода, выводящий пару-тройку абзацев текста (как в примере из [20]) можно изуродовать до такой степени. Но охотно посмотрел бы.
← →
Псалтырь © (2009-06-12 00:16) [23]
> Но охотно посмотрел бы.
Я бы тоже посмотрел. И на сам обфускатор тоже, кистате
← →
Игорь Шевченко © (2009-06-12 00:27) [24]DVM © (12.06.09 00:04) [22]
> Задела, я смотрю, моя фраза про шаблонное мышление в ветке
> про иллюстрацию к сказке про репку
Я забыл, напомни о чем речь ?
> пишут еще как и еще похлеще. Думают. что это очень круто,
> если они напишут в одну строку нечитаемую то, что на других
> языках, таких как паскаль займет строк 5-10, но читаемых.
>
Вот давай не надо - на паскале они еще и не такое пишут.
> Шутников че-то много судя по огромному количеству исходников
> на СИ
Представь себе, преимущественно исходники на С написаны очень и очень читаемо. Открой исходные тексты линукс, убедись.
> Не думаю, что кусок паскалевского кода, выводящий пару-тройку
> абзацев текста (как в примере из [20]) можно изуродовать
> до такой степени. Но охотно посмотрел бы.
Меняются идентификаторы на l_l_, убираются пробелы и переносы строк в тех местах, где допускается компилятором, все аккуратно форматируется в более или менее заполненный по ширине текст.
Читабельность такого текста - сам понимаешь, а компилятору пофиг.
У меня нет сейчас этой программы, несколько лет назад скачали попробовать, потом решили, что нехай лучше воруют исходники.
Можешь поискать по словам pascal obfuscation, delphi obfuscation
← →
DVM © (2009-06-12 00:43) [25]
> Игорь Шевченко ©
> Представь себе, преимущественно исходники на С написаны
> очень и очень читаемо. Открой исходные тексты линукс, убедись.
>
Очевидно, что на Си можно писать по-разному. Можно читаемо, можно не очень.
Но, согласись, написать на Си (а еще лучше на С++) нечитаемо значительно легче, чем на том же паскале. По крайней мере, я ни разу не встречал случаев, когда были бы проблемы с пониманием кода написанного на делфи. На си - повсеместно. Я на си сам не пишу (ну иногда только самую малость), но периодически сталкиваясь с си++ кодом не перестаю удивляться тому многообразию конструкций, которые в нем есть. И кажется, что конца и края им нету. Такое ощушение, что язык наполнялся разными добавками улучшениями и костылями в угоду компактности записи, но в ущерб читабельности.
← →
Игорь Шевченко © (2009-06-12 00:48) [26]DVM © (12.06.09 00:43) [25]
> По крайней мере, я ни разу не встречал случаев, когда были
> бы проблемы с пониманием кода написанного на делфи
Тебе повезло.
> Я на си сам не пишу (ну иногда только самую малость), но
> периодически сталкиваясь с си++ кодом не перестаю удивляться
> тому многообразию конструкций, которые в нем есть
Я как раз 5 лет очень плотно писал на С (без плюсов) и два года на С++ и на паскале практически одновременно.
Читать кода на С практически проблем нету, читать код на С++ слегка сложнее, но тоже можно.
Резюме просто - грамотно написанный опытным программистом код читать можно и на Паскале и на С и на С++. Читать код на Perl - нельзя :)
← →
Холивар (2009-06-12 00:59) [27]
> DVM © (12.06.09 00:04) [22]
>
> > То, что написано для шутки не следует воспринимать как
> руководство
> > к действию или как стандарт для написания программ на
> С.
>
> Шутников че-то много судя по огромному количеству исходников
> на СИ
Хороший язык, я имею в виду С++. Только MFC у MS написано имсключительно через жопу с их картой сообщений и иерархией классов. Так что для GUI или WxWidgets если нужны бинарники по 700 кб - 1Мб, или QT, но там екзешники со статической компиляцией будут по 6-10Мб.
QT реадктор форм интегрирован с VS так что разработка не сложнее делфёвой, а вот у WxWidgets их wxFormBuilder отдельно. Так что нужно отдельно интерфейс рисовать, отдельно код.
← →
XentaAbsenta © (2009-06-12 23:08) [28]Игорь Шевченко ,
Неужели тайпдеф по твоему выглядит замечательно и читается хорошо?
← →
Игорь Шевченко © (2009-06-12 23:55) [29]XentaAbsenta © (12.06.09 23:08) [28]
А что в нем незамечательного ?
typedef int (*my_int_func) (int foo, int bar);
читается менее хорошо, чем
type
my_int_func = function (foo: Integer; bar: Integer): Integer;
?
← →
nach (2009-07-09 12:13) [30]
> Игорь Шевченко © (11.06.09 22:36) [19]
> У ряда людей в мозгу отсутствует участок, отвечающий за
> понимание семантики языка.
я б написал:
У ряда людей в мозгу присутствует участок, отвечающий за понимание семантики языка.:)
Помогите, плиз, еще это:
#define _ABC(ret) extern "C" ret __stdcall
_ABC(some_type) foo( int i );
раскроется в:
extern "C" some_type __stdcall foo( int i );
Или как? В общем, как это будет на дельфи?
← →
KSergey © (2009-07-09 13:10) [31]так.
function foo(i: Integer): some_type; stdcall;
← →
nach (2009-07-09 13:17) [32]
> KSergey © (09.07.09 13:10) [31]
спасибо
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2009.09.06;
Скачать: [xml.tar.bz2];
Память: 0.55 MB
Время: 0.009 c