metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2011-09-11 11:08 pm

Выход из интерпретаторов и командные строки

Я в глубокой печали.
За вчера и сегодня мне пришлось пользоваться шестью интерпретаторами командной строки: F# interactive, Firebird isql, Firebird gsec, Postgresql psql, SQLite, bash и cmd.exe.

Я все понимаю, но пожалуйста, организуйте комитет по стандартизации стандарного набора команд: help и quit. Я очень заебался вспоминать, где я сейчас нахожусь, какая команда показывает хелп и какая команда позволяет выйти и каким количеством каких символов ее нужно терминировать.

Кроме того, я надеюсь, что тот, кто придумал getopt_long, а так же то, что 83% линуксовых утилит реагируют на ключ командной строки --help, тем самым искупил грехи свои и всех своих родственников в +-12 коленах, а тем, кто не соблюдают эту конвенцию, в аду псы будут лизать мозг смердящими языками через вырванные глаза.

[identity profile] aamonster.livejournal.com 2011-09-12 04:10 pm (UTC)(link)
Ну, по сравнению с метапрограммированием на C++ темплейтах - Objective C простой и понятный язык, очень низкий порог вхождения. Так что почему бы не пользоваться?

[identity profile] theiced.livejournal.com 2011-09-12 04:14 pm (UTC)(link)
(BOOL)isEmptyString:(NSString*)string {
    return string == nil 
    || string == NSNull
    || string == (NSString*)kCFNull
    || [[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] isEqualToString:@""];
}


нахуй - это прямо и чуть-чуть налево.

[identity profile] aamonster.livejournal.com 2011-09-12 04:23 pm (UTC)(link)
В сад, читать сырцы stl, boost и книжки Александреску.

[identity profile] theiced.livejournal.com 2011-09-12 04:25 pm (UTC)(link)
цэскрестиками тоже говно. отличается от обжцэ, но я не копрофил что бы в сортах говна разбираться.

[identity profile] anatoly borodin (from livejournal.com) 2011-09-12 07:39 pm (UTC)(link)
А на ObjC есть метапрограммирование? Compile-time полиморфизм, и т.д.?

[identity profile] aamonster.livejournal.com 2011-09-12 08:38 pm (UTC)(link)
Нету, это-то и хорошо ^-^.

[identity profile] usovalx.livejournal.com 2011-09-13 01:56 am (UTC)(link)
Вроде есть какой-то мутант типа objective-C++ :)

[identity profile] vaddimka.livejournal.com 2011-09-12 09:20 pm (UTC)(link)
так-то оно так, кроме того что после конструкторов-инициализаторов объект кастовать приходится (чтобы оно не путало его с другим конструктором) - это бред какой-то на самом деле

в обжси другой большой косяк - работа с памятью, точнее отсутствие таких простых и понятных вещей как shared_ptr
в результате программисты везде вызывают руками retain / release, путаются и в конце концов хранят по одной копии неких данных для каждого объекта

[identity profile] aamonster.livejournal.com 2011-09-13 07:21 pm (UTC)(link)
Это есть, да. Можно, конечно, таки заюзать смартпойнтеры - но тогда придётся все файлы делать *.mm (objective c++), и есть шанс организовать бардак из Objective C и C++ конструкций. Или писать под Garbage Collector.