- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
#include <iostream>
#define PRINT(val) std::cout << #val \
<< " value: " << val \
<< " address: " << &val << std::endl;
int& constRef(){
int var = 10;
PRINT(var)
return var;
}
int main() {
const int a = 'a', b = 'bcde';
std::cout << a << " " << b << std::endl;
const int& ref = constRef();
PRINT(ref)
}
Малоизвестный синтаксис плюсов.
1. Инициализация целочисленного значения из строки (используется в строках-классах времени компиляции).
2. Константная ссылка на стековый объект (используется для создания DSL, в т.ч. boost::spirit).
P.S.: Более полный вариант со строками лежит на форуме.
Dummy00001 28.12.2013 19:50 # +2
Где? В какой строке? Все что у тебя в ГК есть это char'ы многобайтовые.
> Более полный вариант со строками лежит на форуме.
-1
crastinus 28.12.2013 19:55 # −3
mpl::string<'abcd','efgh'> string; //mpl::string<int,int,...>
std::cout << mpl::c_str<string> << std::endl; //=>abcdefgh
>-1
Есть приемущества ( код не рвет ленту ГК).
bormand 28.12.2013 20:13 # +4
В общем для любителей походить по граблям... Чем их mpl::string<'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'> то не устроило?
Lure Of Chaos 28.12.2013 20:18 # 0
вау, этого я не знал. это что, получается, любую строку можно запаковать в 5 байт в int?
bormand 28.12.2013 20:22 # 0
В gcc вот так (с точностью до endianess):
'ab' -> 00 00 61 62
'abcd' -> 61 62 63 64
'abcde' -> 62 63 64 65 (проебали символ)
Lure Of Chaos 28.12.2013 20:27 # 0
bormand 28.12.2013 20:32 # 0
P.S. Кстати, если исходник в utf-8, то русские буквы в духе 'ъ' тоже являются multicharacter literal со всеми вытекающими последствиями...
Lure Of Chaos 28.12.2013 20:47 # +3
даже в жабе уже двубайтового char не хватает для юникода, та что еще ввели понятие кодовых меток... (code charpoint или как там)
kegdan 28.12.2013 20:51 # −3
Lure Of Chaos 28.12.2013 21:01 # 0
и вообще, почти идеал - это lua
bormand 28.12.2013 21:07 # +2
bormand 28.12.2013 21:11 # +1
TarasB 28.12.2013 21:14 # +1
По идее оператор сериализации должен быть частью любого типа, как и оператор инициализации, финализации, копирования, перемещения.
Кстати вроде в Аде так.
bormand 28.12.2013 21:16 # +3
bormand 28.12.2013 21:20 # 0
Ну тогда в стандарт придется писать еще и формат сериализации. Причем строго, вплоть до endianess и каждого бита в нем. И никаких implementation defined. Иначе толку от этой сериализации никакого.
Зато с внешним оператором можно спокойно делать несколько разных форматов - например в лог, в проприетарный двоичный формат, в ASN.1 и в XML. Достаточно описывать оператор для нужного стрима и типа (да, я осознаю, что это M*N, если не читерить).
wvxvw 28.12.2013 22:47 # 0
Но весь этот болезненный и трудоемкий процесс можно сэкономить!
defecate-plusplus 29.12.2013 10:11 # 0
если ты их использовал только для сериализации, это не значит, что они нужны только для сериализации
Lure Of Chaos 28.12.2013 21:18 # +1
кроме private
wvxvw 28.12.2013 22:35 # +3
Какая-то лажа с зеленым цветом. В Яве? Полноценное ООП? Если уж на то пошло, то в Яве - очень ограниченное ООП. При чем ограничения были внесены в надежде упростить, но, как обычно, получилось, что только запутали.
Lure Of Chaos 28.12.2013 22:47 # 0
wvxvw 28.12.2013 22:55 # 0
То для чего объекты используются в обоих языках лучше характеризуется как "пакеты" или "модули", тот факт, что они по сути объекты очень часто вообще игнорируестся (в теории объект без полей не нужен / не имеет смысла, а статические поля, или методы - просто апокрифический бред).
Lure Of Chaos 28.12.2013 22:56 # 0
smalltalk?
wvxvw 28.12.2013 23:17 # +7
в образовательных целях
Lure Of Chaos 28.12.2013 23:20 # −1
wvxvw 28.12.2013 23:42 # +2
Ява - фарс потому, что большинство концепций языка происходят от непонимания этих концепций авторами языка. Кроме того, если, например, создателям Ц++ было простительно не знать о передовых достижениях в области теоретической информатики (все-таки интернетов еще не было, книжки публиковались долго и небольшими тиражами). У создателей Явы не было никаких отмазок. Они просто пургу какую-то сочинили. Ява - это своего рода эпогей развития программирования вопреки лучшим достижениям в области, максимально в угоду профанам. Примерно как открытки с пушистыми котиками и сердечками с энгревом золотой фольгой по сравнению с картинами... ну, например, Мунка.
Т.е. создателям языка нельзя отказать в мастеровитости, но такой махровый китч далеко не каждый сможет сделать, даже если окончательно совесть пропить - все равно через какое-то время тошнить начнет.
Lure Of Chaos 28.12.2013 23:48 # 0
wvxvw 29.12.2013 00:25 # +3
Во-вторых, Ява все-таки не реализовала несколько очень нужных сущностей как объекты. И этому нет никакого оправдания кроме лени разработчкиков.
Ява заставляет объявлять методы специализирующиеся на объекте вместе с самим объектом, чем многократно затрудняет создание модульных приложений. Но это не просто комично, а именно фарс потому, что ОО задумывалось и рекламировалось как инструмент для решения этой проблемы! В Яве есть статические и финальные поля и методы - вещь сама по себе абсурдная. Объекты по задумке несут в себе состояние - если состояние не должно менятся, тогда оно тривиальное! Нахера его записывать в объект? Ява не пользуется (практически никогда) динамической резолюцией методов. 99% Ява кода использующего ОО возможности по сути является просто полиморфными функциями, конкретные реализации которых компилятор разрулил еще до того, как программа была выполнена. Это верх идиотизма, т.как ОО нужен для того, чтобы динамически находить приемников событий. Если приемники можно найти статически - ОО не нужен, можно воспользоваться обычными функциями.
Ситуацию усугубляет еще тото факт, что Ява преподается и рекламируется, и не в последную очередь через академические источники, тем самым валидируя это историческое недоразумение. Человеку без хорошей теоретической базы даже в голову не приходит на сколько в ней все сделано шиворот-навыворот, просто потому, что с первого взгляда система рабочая и справляется с поставленными задачами.
Это еще чем-то напоминает ситуацию с приверженцами Птолемея и Коперника: поскольку мы можем принять любую точку в пространстве за начало координат, то и в каком-то смысле, система Птолемея тоже верна, и для жителей земли она во многом удобна, но в глобальном плане рассчитывать траектории небесных тел исходя из такой позиции - был бы ад. Вот и Ява так же, она работает для сиюминутных потребностей...
kegdan 29.12.2013 00:30 # 0
И что является труъ ооп языком?
wvxvw 29.12.2013 00:38 # +1
Тру ОО языков не бывает, так же как не бывает настоящей страны, производящей всю пищевую продукцию из кукурузы. Ну, или, это будет как в Северной Корее.
kegdan 29.12.2013 00:45 # +1
>>Тру ОО языков не бывает
А так и быть не может. ООП - это не база, как МТ у императивных и лямбда исчесление у функциональщины. Это парадигма, собирающая в кучку все, что уже было до нее, но в более удобном виде. ООП - ну ни как не идет на роль панацеи. Это прежде всего средство командной разработки и упрошения кода за счет модульности. Говорить, что нет тру ооп, это как говорить, что нет тру золотых яиц и приэтом считать, что обычные куриные тоже хавать нельзя. Так то и тру функциональшины нет. Да вообще ничего тру нет(
wvxvw 29.12.2013 02:07 # 0
В Перле, на сколько я знаю, так.
kegdan 29.12.2013 02:13 # 0
Но все же я считаю, что ооп очень удобно, а его присутствие не снижает возможностей. Нет принципиального отличия между программой-блобом и программой без ооп, но встроенное ооп позволяет сделать использование классов более удобным, интуитивно понятным
Vindicar 29.12.2013 08:00 # 0
Stertor 29.12.2013 23:46 # +1
bormand 29.12.2013 00:38 # +1
Ну вот это зря... А куда его еще записывать, если оно у каждого объекта разное, и просто не меняется за всю жизнь объекта?.
wvxvw 29.12.2013 01:58 # 0
bormand 29.12.2013 00:46 # 0
А вот про статики согласен. По сути класс со статиками это тот же пакет, только убогий, т.к. его нельзя импортнуть, и всегда надо упоминать его имя. Ничего нового, по сравнению со свободными переменными и функциями статики не дают.
Ну разве что модификаторы доступа (public/private), но их вполне можно было добавить и к свободным функциям. У классов же они есть в джаве.
kegdan 29.12.2013 00:51 # 0
А что принципиально нового принесло ооп?
anonimb84a2f6fd141 29.12.2013 08:02 # 0
kegdan 29.12.2013 09:48 # 0
>>выделение состояния в объекты
структуры были и до ооп
bormand 29.12.2013 10:00 # 0
И инкапсуляция была, и полиморфизм был. Ооп просто собрало все это в кучу и поперчило наследованием.
А вот наследование это как раз чит, ничего нового не дающий.
Lure Of Chaos 29.12.2013 10:02 # 0
а чаще отнимающий
kegdan 29.12.2013 10:18 # 0
+ Наследование используется довольно редко
Govnocoder#0xFF 30.12.2013 13:22 # 0
kegdan 30.12.2013 13:46 # −1
После них все тлен
bormand 30.12.2013 14:48 # +1
> После них все тлен
J.
wvxvw 30.12.2013 22:36 # 0
Лисп удобно использовать в таком контексте, потому, что можно смоделировать практически все, что угодно.
Много тематической литературы использует Хаскелл и ОКамл / СМЛ, но чаще это языки разработанные специально для задачи, типа той же Ко-меги.
Селф очень часто используется как модель ОО языков в контексте исследований.
3.14159265 30.12.2013 21:34 # +3
Stertor 30.12.2013 22:45 # +1
3.14159265 30.12.2013 21:31 # 0
Я бы заменил CommonLisp на EmacsLisp.
И добавил
| Backward compability | Python | Python 2 | Python 3 |
| Languages with “C” | C | C++ | Objective C
wvxvw 30.12.2013 22:30 # 0
Я думаю, что автор невзлюбил CL за то, что он моложе Схемы, но сделан вопреки улучшениям уже продуманым в Схеме. На сколько я понимаю, историческая позиция тех, кому хотелось CL была в том, что Схема сделала много привычных вещей меганеудобными. Гигиенические макросы - очень сомнительной полезности вещь (все равно большинство продвинутых схемеров так или иначе пишут себе аналог defmacro). Ненужная строгость в работе базовых функций: car / cdr и т.д. (нужно все время проверять на null) делает код очень многословным. Опять же отказ от мутабельности ухудшил многие алгоритмы (обменять два элемента в списке местами, например).
CL же, с другой стороны, вместо того, чтобы воспользоваться хорошими вещами, типа того же call/cc скопировал один в один ошибки предыдущих версий, иногда внося совсем уж косметические изменения. Уже во время стандартизации, это был шаг назад. Ну и последующая история (никакого) развития тоже подбросила дров в огонь.
В CL есть много хороших не реализованых задатков, но развитие практически остановилось, и это печально.
crastinus 29.12.2013 23:00 # 0
С вас галоперидол, сэр.
http://coliru.stacked-crooked.com/a/70c10e0f0e8c150e
bormand 28.12.2013 21:00 # 0
Для юникода в крестах есть вменяемый (ну ок, трудно назвать вменяемой ситуацию, когда в вижуалке он 2 байта, а в gcc 4, и существуют еще некоторые другие проблемы) wchar_t, и его литералы обозначаются как L'ъ'. А на multicharacter literal то же гцц ругается ворнингом.
Lure Of Chaos 28.12.2013 21:04 # 0
bormand 28.12.2013 21:09 # +3
Lure Of Chaos 28.12.2013 21:17 # +2
kegdan 28.12.2013 21:26 # +2
Lure Of Chaos 28.12.2013 21:32 # 0
нихуя, ты отвечаешь за слаженность рабов
anonimb84a2f6fd141 28.12.2013 21:32 # +2
kegdan 28.12.2013 21:34 # 0
Stertor 28.12.2013 21:39 # 0
kegdan 28.12.2013 21:40 # +2
Stertor 28.12.2013 21:43 # +2
kegdan 28.12.2013 21:45 # 0
Stertor 28.12.2013 21:48 # +1
kegdan 28.12.2013 21:47 # 0
Stertor 28.12.2013 21:55 # +1
LispGovno 28.12.2013 22:05 # 0
Нифига себе наезд. Зеленым нужно было.
Lure Of Chaos 28.12.2013 22:08 # −1
> Нифига себе наезд. Зеленым нужно было.
подтверждаю. даже скайрим вполне
kegdan 28.12.2013 22:11 # +2
>> готика это "морровинд для петушков"
то есть
Готика - это тот же морровинд, но для петушков
Lure Of Chaos 28.12.2013 22:13 # 0
kegdan 28.12.2013 22:19 # 0
Stertor 28.12.2013 22:22 # −1
Lure Of Chaos 28.12.2013 22:26 # 0
только 2ой.
а так: Gish, Alens vs Predator 2, Silent Hill 4, Bloodrayne 2, Vampire the Masquerade - Bloodlines, ну и куча хентайных типа nocturnal illusion (кстати, плакал как ребенок, хотел купить книгу у автора)
ну и куча спектрумных типа nether earth, space crusade, stop the ita express, нло-2
kegdan 28.12.2013 22:34 # 0
Lure Of Chaos 28.12.2013 22:39 # 0
http://ololo.fm/search/Zx+Spectrum+-+Copper+Feet/Ufo+2+Intro
kegdan 28.12.2013 22:43 # 0
X-com: enemy unknown и дополнение enemy within
Lure Of Chaos 28.12.2013 22:48 # 0
bormand 29.12.2013 00:35 # 0
Внезапно, но это не предки, это ремейк :)
Предок был, емнип, UFO: enemy unknown.
Lure Of Chaos 29.12.2013 01:09 # 0
глубже: x-com
kegdan 29.12.2013 01:12 # 0
Зуб даю
Lure Of Chaos 29.12.2013 01:16 # 0
kegdan 29.12.2013 01:17 # 0
Lure Of Chaos 29.12.2013 01:18 # 0
kegdan 29.12.2013 01:28 # 0
Lure Of Chaos 29.12.2013 01:34 # 0
kegdan 29.12.2013 01:40 # 0
Lure Of Chaos 28.12.2013 22:45 # 0
kegdan 28.12.2013 22:47 # 0
Lure Of Chaos 28.12.2013 22:53 # 0
и как тебе nocturnal illusion?
LispGovno 28.12.2013 22:19 # −1
Stertor 28.12.2013 22:09 # +2
Lure Of Chaos 28.12.2013 22:11 # +2
LispGovno 28.12.2013 22:19 # +1
Stertor 28.12.2013 21:38 # +2
LispGovno 28.12.2013 22:07 # +2
Розовый пирог? пинкипай? да ты канибал
kegdan 28.12.2013 22:14 # +2
Stertor 28.12.2013 22:25 # 0
bormand 29.12.2013 13:45 # +6
Имхо, с рабынями лучше. Но каждому своё.
LispGovno 28.12.2013 22:11 # +1
Stertor 28.12.2013 22:27 # +1
Stertor 28.12.2013 22:35 # +1
Abbath 29.12.2013 13:19 # 0
bormand 29.12.2013 13:39 # +1
А виндоблядский UTF-16LE - нет.
anonimb84a2f6fd141 05.01.2014 21:29 # 0
Как что-то плохое (начнем холивар UTF-8 vs UTF-16?)
LispGovno 28.12.2013 21:14 # 0
В gcc он для символов юникода фиксированной длины, а в студии для символов юникода переменной длины.
Abbath 29.12.2013 13:25 # +1
переменная длина в 2 или 2 байта на выбор. UCS-2.
LispGovno 28.12.2013 21:16 # 0
Какие?
bormand 28.12.2013 21:21 # +2
defecate-plusplus 29.12.2013 10:13 # +1
в с++11 добавили ещё типов
bormand 29.12.2013 13:35 # 0
О, спасибо! Интересно, я когда-нибудь узнаю все фишки, которые добавили в c++11? :)
Сырые литералы понравились, буду юзать для регулярок, чтобы не писать сраные \\\\:
Abbath 29.12.2013 16:05 # +2
Они пока кривые.
LispGovno 29.12.2013 16:29 # +1
Abbath 29.12.2013 16:50 # +1
http://ideone.com/RU17Vl
Stertor 29.12.2013 17:25 # +1
kegdan 29.12.2013 18:25 # +1
for (const auto &fname : fnames)
С++11
Да там как бэ и написано в углу
Stertor 29.12.2013 21:54 # +1
kegdan 29.12.2013 22:00 # +1
>> Перегрузку методов/ООП классы в c++ я вообще не понимаю.
так ты же дельфин, в этом плане языки довольно похожи. Класс состоит из ClassName.h (дикларация) и ClassName.cpp (имплиментация). Перегруз - ну он и в африке перегруз. А вообще плюсы не нужны( Слишком они универсальны, а потому страшнее ядерной войны и состоит из костылей почти полностью.
Stertor 29.12.2013 22:07 # +1
Stertor 29.12.2013 22:19 # +1
kegdan 29.12.2013 22:29 # 0
Stertor 29.12.2013 22:32 # +1
:O
К тому же, каким макаром в консолечку выводятся INT? Это же не строковый тип. Или в плюсах похуй - что строка, что число?
bormand 29.12.2013 22:37 # +1
Оператор битового сдвига вывода в поток << перегружен для кучи типов. Можно добавить свои перегрузки, если какие-то еще типы хочется выводить в консолечку.
Stertor 29.12.2013 22:44 # +1
bormand 29.12.2013 22:51 # +1
Ну если я не забыл делфи, то...
Эта функция в цикле вынимает из очереди сообщений новые сообщения и вызывает их обработчики. Вызывать ее из каких-либо потоков, помимо главного, категорически запрещается. Обработчики будут выполнены так, как-будто ты их вызвал сам из той точки, где ты вызвал processmessages.
Поэтому если прога боится повторных нажатий кнопочек и т.п. - юзай флаги, блокируй кнопки, твори прочие непотребства ;) Никакой многопоточности и прочей магии здесь нет.
Stertor 29.12.2013 22:53 # +1
Stertor 29.12.2013 23:13 # +2
listview.Items.Begin update - защищает элементы списка от повторного обращения. Спасибо всем, ответившим - ваши слова не прозвучали впустую - я нашел верное решение.
bormand 29.12.2013 22:46 # +4
Код нерабочий. Надо или using namespace std или std::cout вместо cout.
P.S. Скажем нет копипасте (работает для любого числа аргументов и для любых типов которые хоть как-то можно сложить):
defecate-plusplus 29.12.2013 22:46 # +4
этот пацак все время говорит на языках, продолжения которых не знает (с)
собрался подсказывать - не плавай сам
а то как два девственника в брачную ночь
kegdan 29.12.2013 22:50 # +1
Stertor 29.12.2013 22:51 # +1
bormand 29.12.2013 22:59 # +1
> этот пацак все время говорит на языках, продолжения которых не знает (с)
Ааа, беру свои слова обратно! Код рабочий, но... на древних достандартных компилерах аля досовский борманд с++.
bormand 29.12.2013 22:34 # +2
Ну нельзя на примитивные типы (указатели, целые числа и т.п.) операторы перегружать, да, есть такое крестоблядство. Когда оператор перегружаешь, хотя бы один его аргумент должен быть объектом.
defecate-plusplus 29.12.2013 22:08 # 0
Иногда лучше жевать
bormand 29.12.2013 22:32 # 0
Авотхуй ;) *.h банально копипастятся в *.cpp препроцессором. Да, класс может состоять из двух половинок. А может и не состоять. Кресты такие кресты ;)
> Иногда лучше жевать
+1
kegdan 29.12.2013 22:52 # 0
defecate-plusplus 29.12.2013 22:53 # +2
kegdan 29.12.2013 23:01 # +2
Пойду бить себя плетью
bormand 29.12.2013 23:03 # +1
Нет, не прав. Можно отдельно, можно как в жабах\шарпах.
bormand 29.12.2013 22:40 # +3
Ты про си или про кресты? Си очень просты, но там полно подводных камней. Кресты очень сложны, и подводных камней в них еще больше. А с выходом стандарта с++11 (и планируемым с++14) о полном знании всех возможностей языка можешь забыть как о несбыточной мечте :)
Не связывайся с крестами, если жизнь не заставит. Как крестовик тебе говорю ;)
Stertor 29.12.2013 22:48 # +1
kegdan 29.12.2013 22:56 # +2
Я раньше собирался. Вообще начинал с бейсика, поступил в уневер - сказали NO WAY - с помошью соседа по общаге перешел на делфи. И тут появились умные личности, которые начали склонять меня к плюсам. После того, как меня побило мордой о всякие камни и полную недружелюбность плюсов (все это не уровне бигинера ) открыл для себя шарп. чему и рад
defecate-plusplus 29.12.2013 23:00 # +6
kegdan 29.12.2013 23:05 # +1
Имхо .NET предоставляет все необходимое для рядового программиста.
defecate-plusplus 29.12.2013 23:08 # +4
во времена, когда все переходят на браузерные и нужен качественный бекенд? ставить серваки с виндой, иис и мс скл?
без обид, я просто наелся этого говна от микрософта
когда очередные гении требовали для своей говноподелки вместо селерона+апача+мускула (этого бы хватило) сервак на 12 ядер, 64 рам, винду и мс скл не ниже стандард (экспресс мол для них уже не катил) - потому что рядовым программистам хватило дотнета блять
LispGovno 29.12.2013 23:30 # +1
Ты сейчас кресты для серваков предлагаешь? Поржал.
defecate-plusplus 29.12.2013 23:31 # +3
я ваще т на прямого конкурента намекал - жабу
но и остальные мультиплатформенные технологии велкам
но не дотнет, неет
LispGovno 29.12.2013 23:37 # +2
Да хрен тебя знает. Может ты скрытый питонист как пушков, который всегда казался крестушком, а теперь всюду своего питона вставляет.
defecate-plusplus 29.12.2013 23:51 # +2
есличо, я сейчас в основном в аутлуке программирую, например
а также миллион других дел, которые больше некому делать
хотелось бы уже набрать толковых ребят и отделегировать, но где ж их найдешь теперича
kegdan 30.12.2013 00:00 # +2
defecate-plusplus 30.12.2013 00:06 # +1
но только чтобы была надежда, что вырастет специалист, а не тыква
kegdan 30.12.2013 00:09 # +1
LispGovno 30.12.2013 00:18 # +1
На крестоработы я бы тебя пока не взял. Уж очень долго обучаются в кресты даже знающие кресты. Ошибки исправлять за новичков не охота.
Дефекейта я бы взял. А он бы меня нет. Боится что подсижу.
kegdan 30.12.2013 00:20 # +1
Об этом я и говорю
LispGovno 30.12.2013 00:21 # +1
Ну ты на меня не смотри. Дефекейстра то может тебя бы взял. У меня работы подходящей для обучения как-то не особо много
kegdan 30.12.2013 00:24 # 0
defecate-plusplus 30.12.2013 00:26 # +3
ну напиши мыло для связи - можно и в личку, тем более у нас теперь Форум есть
LispGovno 30.12.2013 00:28 # +3
kegdan 30.12.2013 00:30 # +1
Stertor 30.12.2013 00:32 # +2
LispGovno 30.12.2013 00:37 # +1
Не помогает. Им все равно. Главное чтобы орган получить и продать.
Stertor 30.12.2013 15:37 # +1
kegdan 30.12.2013 00:30 # +2
LispGovno 30.12.2013 00:32 # +3
defecate-plusplus 30.12.2013 00:35 # +2
http://dic.academic.ru/dic.nsf/dic_wingwords/3216/В
defecate-plusplus 30.12.2013 17:40 # +1
ну что, соскочил с темы? :)
kegdan 30.12.2013 17:53 # 0
LispGovno 30.12.2013 18:58 # +3
kegdan 30.12.2013 19:03 # +3
LispGovno 30.12.2013 19:06 # +1
kegdan 30.12.2013 19:07 # +2
defecate-plusplus 30.12.2013 19:37 # +2
зачем это здесь?
kegdan 30.12.2013 19:42 # +2
LispGovno 30.12.2013 20:05 # +2
kegdan 30.12.2013 20:07 # +2
LispGovno 30.12.2013 20:18 # +2
Тебе не зачем. А как же я без кавказцев то?
kegdan 30.12.2013 20:22 # +1
LispGovno 30.12.2013 20:33 # +2
kegdan 30.12.2013 20:35 # +1
LispGovno 30.12.2013 20:37 # +1
defecate-plusplus 30.12.2013 20:30 # +2
defecate-plusplus 30.12.2013 20:41 # +2
defecate-plusplus 30.12.2013 21:00 # +2
хм, не знаю, как так вышло
настоящий лиспговно совсем не такой
но наследил он прилично, с номерами асек, почт
одно неясно
почему его почта приписана в социальной сети на даму...
bormand 30.12.2013 21:02 # +2
Потому что он и есть дама, просто скрывается от похотливых программистов под личиной лиспговна?
defecate-plusplus 30.12.2013 21:06 # +3
и т.к. дама замужняя, это до сих пор крепкая тайна
у анонимба даже никаких подозрений не было за много лет - а это достойно уважения
LispGovno 30.12.2013 21:09 # +2
defecate-plusplus 30.12.2013 21:21 # +2
не имея своего вконтактика, только с помощью кеша гугла и провидения, это оказалось нелегко, но реально
а дуров шлёт всех в жопу из гондураса
тащемта зачем мне твой ойпи, он у тебя за натом
только провайдера ддосить, смысл
LispGovno 30.12.2013 00:08 # +2
Поясни? Отвечаешь на сообщения через мс клиент электронной почты? о_О
defecate-plusplus 30.12.2013 00:11 # +5
bormand 29.12.2013 23:32 # +2
Смотря для каких. Для домашних страничек явно не айс. А вот для всяких скорострельных видеотрансляций, сетевых фс типа дропбокса и прочей подобной гадости - почему нет?
defecate-plusplus 29.12.2013 23:45 # +2
LispGovno 29.12.2013 23:46 # +1
defecate-plusplus 30.12.2013 00:00 # +3
bormand 05.01.2014 14:12 # +2
Шило в мешке не утаишь: http://habrahabr.ru/post/208136/ (простите за хабр). Проверил свою почту на яндексе - там тоже в районе 2го января такие заголовки есть :) Нулябрь, видимо.
roman-kashitsyn 05.01.2014 15:17 # +2
Кресты конкретно в картах, например, из-за геометрии (Boost.Geometry в частности) и графов, с трудом помещяющихся в оперативку сервера. В поиске ядро тоже на плюсах по понятным причинам. Плюсовых либ за десятилетия накопилось овер 9000.
Жабы тоже немеряно, особенно в Маркете и всяких бэк-офисах. Всякий инфраструктурный клей часто пишут на питоне, иногда на перле. Нода тоже модна, в основном из-за дешёвых фронтэнд-девелоперов. Вообще у меня есть гипотеза, что для любой существующей технологии найдётся место в Я, где она используется.
Опять же, в объёмах сотен серверов выбор более производительного и киловатт-пер-флопс-френдли языка весьма актуален.
Вообще мне люто доставляет читать тамошние холиварные бложики и комменты "кресты vs. современные языки (тм)" (отчасти радует отсутствие там школоты и ботов).
bormand 05.01.2014 16:18 # +1
Блин, им хоть молоко за вредность выдают?
roman-kashitsyn 05.01.2014 16:38 # +1
молоко в свободном доступе на кофепоинте
bormand 05.01.2014 16:45 # +2
=== BEGIN HOLY WAR ===
Современные языки бы упали с исключением, и программистам обломали бы праздник. А кресты спокойно работали до четвертого числа, не отвлекая людей от отдыха.
kegdan 05.01.2014 16:56 # 0
roman-kashitsyn 05.01.2014 17:19 # 0
Такое ощущение, что кто-то выкатил фикс под новый год. Странно, за 2 недели до нового года фич-фриз, ничего не катится в продакшн без _особой_ надобности.
Вообще говоря, я наблюдаю за эпикфейлами с диском и почтой с удивлением. В нашем отделении довольно строгий код-ревью. Думаю, виноваты в основном новички и не вовремя ушедшие в отпуск старшие коллеги.
bormand 05.01.2014 17:51 # 0
Да скорее всего баг лежал там давным-давно, как бы не полгода, и просто ждал своего часа...
В кедах где-то в районе 4.2, несколько лет назад, в календаре не было февраля. Причем если листать вперед - то после января шел март. А если листать назад - вся плазма вылетала к чертям. В феврале того же года баг прошел сам собой, без обновления кедов.
roman-kashitsyn 05.01.2014 18:01 # +1
LispGovno 05.01.2014 19:09 # +2
Так и знал что школьники пользуются яМух
LispGovno 05.01.2014 21:15 # 0
kegdan 29.12.2013 23:37 # +1
bormand 29.12.2013 23:08 # +1
Ну дотнет моно на линухах с горем пополам все-таки работает. С кучей ограничений, без либ от майкрософта и т.п., но работает...
Вот и получаются кресты, которые кроссплатформенны через жопу (без буста или кути о кроссплатформенных крестопрогах лучше даже не думать).
Жаба, которая кроссплатформенна по определению, но слишком энтерпрайзна и невыразительна.
И шарп, который вполне годен, но не кроссплатформенный из-за либ (ну не заставлять же виндоюзеров ставить моно?).
defecate-plusplus 29.12.2013 23:16 # +2
bormand 29.12.2013 23:22 # 0
Моновское ASP.NET можно запускать с апачем вместо IIS. http://www.mono-project.com/ASP.NET. Х.з. правда, насколько это все стабильно.
> как поставить мс скл на линукс
Только постгрес, только мускуль, только хардкор. Тут шарпеям все-таки придется уйти из своего анального рабства уютного мирка и поставить коннектор для нужной СУБД.
wvxvw 29.12.2013 23:32 # +1
kegdan 29.12.2013 23:34 # 0
bormand 29.12.2013 23:37 # 0
Ты покупал и ставил винду серверную с mssql? :)
LispGovno 29.12.2013 23:39 # 0
kegdan 29.12.2013 23:40 # 0
Неужели нет бесплатного способа поставить сервак от ms?
LispGovno 29.12.2013 23:48 # 0
> от ms
Скажи Кря!
Stertor 29.12.2013 23:51 # +3
bormand 29.12.2013 23:59 # +3
Причем, как правило, продукты от M$ совместимы только с продуктами от M$ и требуют других продуктов от M$ для полноценной работоспособности.
bormand 29.12.2013 23:52 # +1
Вот из-за таких как ты и появляются описанные дефекейтом случаи... Юзаете пиратскую вижуалку, пиратский mssql, пиратскую серверную винду, а потом хлопаете глазками, и думаете, почему же ваши любимые анальные игрушки никому не нравятся...
Для бизнеса, а тем более госучреждения, бесплатного способа поставить сервак от ms нет.
P.S. Я не против продуктов M$, я против тех, кто их бездумно юзает направо и налево.
Stertor 29.12.2013 23:57 # +1
Предлагаю перевести огонь на меня.
См. есть интересная штука: берем калькулятор, и последовательно вводим: 1 затем + затем = и несколько раз жмем =
Калькулятор будет выводить каждый раз инкрементированный результат, начиная с 1 (в калькуляторе - проге с 2) Отчего так?
kegdan 29.12.2013 23:58 # 0
Пиратская версия как то по другому компилирует?) Или ты о чем?
Stertor 30.12.2013 00:01 # +1
kegdan 30.12.2013 00:04 # 0
kegdan 30.12.2013 00:05 # 0
Stertor 30.12.2013 00:07 # +1
bormand 30.12.2013 00:04 # 0
О том, что работая на пиратском софте вы не осознаете стоимости комплекса и всего геморроя, на который вы обрекаете заказчика.
kegdan 30.12.2013 00:08 # 0
Stertor 30.12.2013 00:08 # +1
О, а можно подробнее,кэп? Я думаю, сейчас многие замерли в ожидании, что Вы нам ответите.
defecate-plusplus 30.12.2013 00:16 # +4
с какими ОС оно может работать, с какими субд - т.е. какое системное ПО потребуется докупать, сколько цпу и памяти, пзу и сети ему надо - аппаратные ресурсы
что с гибкостью этих параметров, масштабируемостью решения, гетерогенностью
Stertor 30.12.2013 00:16 # +1
bormand 30.12.2013 00:32 # +2
Нет конечно. До тех пор, пока ты не начнешь продавать проги ;)
Stertor 30.12.2013 00:33 # +1
govnomonad 30.12.2013 09:31 # +2
M$ ещё активно и впаривает свои анальные игрушки:
DreamSpark, BizSpark, официальные откаты, скидки для школ итд итп
Vendor lock-in, он же не на серваках и десктопах, а в головах
bormand 29.12.2013 23:01 # +1
Они просто недостаточно изучили с++ :)
defecate-plusplus 29.12.2013 23:03 # +3
bormand 29.12.2013 23:13 # +2
Нет, уже наелся и буста. Просто я бы не стал советовать новичкам этот язык (хотя по началу так и делал, пока писал на нем лабы).
defecate-plusplus 29.12.2013 23:22 # +3
вон из дочерней конторы ребята допиливают что-то там под дисковые хранилища
типа как файловую систему распределенную, с требованиями специальными
ребята не очень опытные, мягко говоря
и вот им нужно было ноды как то взаимоувязать по собственному служебному протоколу - и очевидно, что время реакции (хранилище же) должно быть минимальным
не хотят брать кресты, тк не знают их - хотя там на асио день работы
будут брать ноде.жс
я просто уссался когда узнал
пожелал им удачи
bormand 29.12.2013 23:27 # 0
Блеать. Ну я все понимаю, v8 шустрый движок, но не настолько же, чтобы на нем распределенную фс пилить.
> пожелал им удачи
Она им понадобится...
> хотя там на асио день работы
А вот интересно, с java nio отзывчивость будет намного ниже, чем с asio?
defecate-plusplus 29.12.2013 23:58 # 0
говносборщик мусора и тотальное непонимание разрабами либ нахуя нужны тыщщи синглтонов и тред-локал уже упарывали нам жабопроблемы, когда пермген наедался досыта и томкат показывал кукиш
и главное, хуй чо исправишь
зато быстро пилится, тут без нареканий
к чему я
это... потоки в жабе на уровне дельфей, никак не способствуют их повсеместному использованию
так что я бы не думал о жабе как о мгновенном предсказуемом сервере сообщений
bormand 30.12.2013 00:08 # 0
Хуяссе. Они там String.intern() для эффективности поди юзали? :) Я просто что-то слабо представляю, сколько классов надо насоздавать, чтобы засрать пермген.
> хуй чо исправишь
Пермген же вроде можно растянуть опцией?
defecate-plusplus 30.12.2013 00:21 # +2
дык если он монотонно растет
на серваке было 32 рам и томкат
— У нас было 2 пакета травы, 75 таблеток мескалина, 5 упаковок кислоты, пол-солонки кокаина и целое множество транквилизаторов всех сортов и расцветок, а также текила, ром, ящик пива, пинта чистого эфира и амилнитрит. Не то что бы это был необходимый запас для поездки.
но наши жавоёбы побороли таки проблемы, вроде
Stertor 30.12.2013 00:38 # +1
kegdan 30.12.2013 00:43 # 0
War. War never changes
LispGovno 30.12.2013 00:43 # 0
Поясни для нежабиста. Интернирование знаю если что.
bormand 30.12.2013 15:01 # 0
Место, где хранятся загруженные классы и интернированные строки.
govnomonad 30.12.2013 09:36 # +2
пока делать govnoarchitecture.ru
roman-kashitsyn 05.01.2014 17:25 # 0
roman-kashitsyn 05.01.2014 17:29 # 0
Забавный курьёз: учить плюсы я начал как раз когда потребовалось писать свою специализированную байтохранилку...
anonimb84a2f6fd141 28.12.2013 21:31 # −2
kegdan 28.12.2013 21:32 # −2
bormand 28.12.2013 21:36 # 0
anonimb84a2f6fd141 28.12.2013 23:50 # 0
bormand 28.12.2013 21:33 # +4
Stertor 28.12.2013 21:34 # +1
>> Переучить всех на инглиш и юзать ascii
Бог ты мой, как толсто.
Кто не юзает юникод, тот гомосексуалист.
kegdan 28.12.2013 21:38 # +5
Stertor 28.12.2013 21:57 # +2
LispGovno 28.12.2013 22:13 # −1
Stertor 28.12.2013 22:15 # +2
anonimb84a2f6fd141 28.12.2013 23:50 # 0
Lure Of Chaos 28.12.2013 21:37 # 0
европейцам захотелось двух
а потом китайцы, японцы, и другие народы с ужасом обнаружили, что их алфавиты не закодировать
и это при том, что там есть и псевдографика, и другие ненужные символы, типа мастей карт, и много других, вот Ѿ
kegdan 28.12.2013 21:39 # +2
Lure Of Chaos 28.12.2013 21:47 # −1
п.с. респект, кто запостит оригинал в полном виде
dxd 29.12.2013 10:20 # 0
Abbath 29.12.2013 13:28 # +2
kegdan 29.12.2013 14:51 # +1
LispGovno 29.12.2013 15:53 # +1
Stertor 29.12.2013 23:39 # +1
bormand 30.12.2013 14:51 # 0
defecate-plusplus 30.12.2013 15:05 # +1
да, были
bormand 30.12.2013 15:07 # 0
Хм, а в СССР разве были ПЛИС? Имхо их до недавних дней все считали бесполезным оверкиллом, ибо слишком сложно, куча модулей внутри чипа зря пропадает, и специализированная схема выходит на порядки дешевле...
defecate-plusplus 30.12.2013 15:10 # 0
самих нас в 2000х на кафедре уже учили на xilinx
bormand 30.12.2013 15:15 # 0
Круто, блин... А я эти FPGA так и не полапал ни разу... И наверное не полапаю, больно уж они дорогие и непаябельные.
defecate-plusplus 30.12.2013 15:19 # 0
bormand 30.12.2013 15:22 # 0
Да. Ну и специфика вуза была явно не в сторону железа.
defecate-plusplus 30.12.2013 15:33 # +3
знакомили вообще со всем - от транзисторов до суперкомьютеров, от ассемблера до рсубд
типа специалист, который должен уметь компьютеризировать любой процесс на любом уровне детализации - а чего не найдет из готового, допилить свое ПО и доработать свое железо
осознание этого ко мне не сразу пришло:)
3.14159265 18.01.2014 01:35 # 0
Lure Of Chaos 18.01.2014 03:55 # 0
kegdan 18.01.2014 08:41 # 0
Lure Of Chaos 18.01.2014 08:43 # 0
kegdan 18.01.2014 08:46 # 0
Lure Of Chaos 18.01.2014 08:59 # 0
kegdan 18.01.2014 09:03 # 0
тогда почему так думаешь?
Lure Of Chaos 18.01.2014 09:21 # 0
kegdan 18.01.2014 09:31 # 0
>>хотя и молились и трахались даже самые партийные
Lure Of Chaos 18.01.2014 09:38 # 0
kegdan 18.01.2014 09:44 # 0
crastinus 28.12.2013 20:22 # 0
>Чем их mpl::string<'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'> то не устроило?
Тем, что каждый раз нужно ставить запятую. Неудобно.
crastinus 28.12.2013 20:37 # 0
bormand 28.12.2013 20:40 # 0
crastinus 28.12.2013 20:44 # +1
Не понял. На форуме костыль абрахамса (32 вложенных друг в друга шаблона под названием _S) может принять до 32-х символов. Сейчас комменты туда впишу.
Кстати, слышал, что в новом spirit'е не будет phoenix и proto, благодаря c++11. В 2 раза ускорили компиляцию.
bormand 28.12.2013 21:30 # 0
crastinus 28.12.2013 21:35 # 0
А зачем это тебе? Достаточно, чтобы строки этапа выполнения были юникодом. Т.е. я просто не вижу причины делать многоязычные строки для метопрограммы.
bormand 28.12.2013 21:38 # 0
defecate-plusplus 29.12.2013 14:55 # +3
страшно представить, сколько это будет "пиздец дохуя" поделить на 2
Abbath 29.12.2013 15:40 # +5
Prelude> a
Infinity
Prelude> a / 2
Infinity
Prelude>
LispGovno 29.12.2013 15:55 # +1
crastinus 29.12.2013 23:08 # 0
Stertor 28.12.2013 20:23 # −11
имеем тип:
а как прикрутить к этому свойству функцию StatusToString:string, т.е. держать в 1 свойстве тип и строковую функцию?
var
mc:tmyclass;
begin
mc:=tmyclass.create;
mc.actiontype // тип будет tactype
mc.actiontype.StatusToString // это функция возвращающая строковое значение в зависимости от текущего значения tactype? Вопрос в том, как прикрутить функцию к типу, не являющемуся классом? Если нужно создать промежуточный класс, то как это сделать?
Сорри за оффтоп. Заминусую потом.
1024-- 28.12.2013 20:31 # −14
Так можно же было на новенький форум запостить. Борманд там уже есть.
Stertor 28.12.2013 20:32 # 0
crastinus 28.12.2013 20:34 # 0
Stertor 28.12.2013 20:38 # −11
товарищи, ну неужели никто не подскажет решения?
1024-- 28.12.2013 20:40 # −9
bormand 28.12.2013 20:38 # −12
Никак походу, это ж не шарп с его экстеншн методами.
> Если нужно создать промежуточный класс, то как это сделать?
Ну как вариант - класс с приватным полем, в котором хранится tactype, и двумя свойствами - AsActionType и AsString, которые позволят его читать и менять.
Stertor 28.12.2013 20:43 # −11
p/s/ сейчас буду минусовать, без обид. Я благодарен всем ответившим.