Pull to refresh
12
0
Send message
Начать можно с теории /wiki/Замыкание. Как оказалось большинство Java программистов настолько уверовали в исключительность ООП, что просто не знают зачем нужен функциональный подход и что это такое, тем более раньше ничего кроме ООП джавистам и не позволялось.
Ну а потом уже применительно к Java: http://viralpatel.net/blogs/lambda-expressions-java-tutorial/.
Ура! Наконец-то джависты откроют для себя замечательный мир лямбд и перестанут кричать «лямбды не нужны», потому что в джаве их не было.
Про диграфы знал довольно давно, и даже встречался с ними пару раз в реальном боевом коде лет 5 назад, когда еще писал на C++. И знал именно потому что мне язык тогда очень нравился и стремился узнать все о своем инструменте. А недавно вот попросили помочь с элементарным примером. И оказалось, что большинство моих коллег даже не слышало таком. Для меня это было шоком: да — это устаревшая часть языка, да очень редко используемая. Но это все равно часть языка — часть стандарта инструмента, на котором пишешь много лет
Я не говорю, что все должны знать ди-/триграфы наизусть. Но знать, что они вообще существуют в природе — обязаны.
Но о этих зверьках знать нужно ИМХО. По крайней мере нужно знать что они существуют в природе, чтобы потом не удивляться.
Так я не спорю. Но о ди и триграфах нужно как минимум знать. Это часть языка. Это история, как этот язык развивался. Я-же не говорю, что код — пример production кода. Это пример. С подсказками — несбаллансированые квадратные и фигурные скобки — одни из таких подсказок.
Да. Все правильно. А в C++ есть еще и триграфы, начинающиеся с "??" en.wikipedia.org/wiki/Digraphs_and_trigraphs. Как оказалось о таком даже не слышало больше половины С/С++ программистов. Насколько я знаю триграфы по умолчанию отключены в большинстве компиляторов
На самом деле код очень прост — там всего лишь 3 вложенных друг в друга лямбды. Как оказалось мало кто из С++ программистов уже вообще знает что такое диграфы.
Считайте что это социальный эксперимент. Изначально Хабр был IT ресурсом, в котором профессионалы общались на профессиональные темы. Хочу узнать остался ли ресурс таковым.
Профессионализм, в том числе, определяется любопытством и знанием своего инструмента (языка)
Честно говоря я написал этот чтобы понять — много-ли С++ программистов смогут понять что тут написано. И самое главное — как оно работает. Как оказалось среди моих коллег таких единицы.
А почему вы думаете, что это говнокод? Просто используется часть языка, о которой мало кто знает
Если речь идет о прототипах — то их нужно делать максимально быстро, и после этого выбрасывать. Именно так. Сделать максимально быстро и костыльно, чтобы проверить идею.

В вашем примере за 2 недели можно проверить (написать) 2 идеи. В примере выше — 9.

Если вы «работаете на дядю» да еще и в аутсорсе, ваш вариант понятен и повсеместен. Если вы работаете в небольшой продуктовой компании, да еще и сами ей владеете — тогда он просто недопустим)
Primecoin майнится исключительно на CPU (пока вроде-бы нет реализаций на GPU), так что реально
Хм, честно говоря я считаю, что мобильный клиент для доступа к финансовой информации не должен сохранять локально вообще никакой информации, тем более логин/пароль
Описанная вами версия — только для не ARC'овых проектов. Все-таки 2014 год на подходе. Все можно сделать проще и изящнее:
@interface MySingleton : NSObject
+(instancetype) sharedInstance;
// следующие объявления сгенерируют compile time ошибки при попытке их вызвать вручную.
// добавляем -copyWithZone: -allocWithZone: -copy по вкусу
+(instancetype) alloc __attribute__((unavailable("alloc not available, call sharedInstance instead")));
-(instancetype) init __attribute__((unavailable("init not available, call sharedInstance instead")));
+(instancetype) new __attribute__((unavailable("new not available, call sharedInstance instead")));

@end

@implementation MySingleton

+(instancetype) sharedInstance {
    static dispatch_once_t pred;
    static id shared = nil;
    dispatch_once(&pred, ^{
        shared = [[super alloc] initUniqueInstance];
    });
    return shared;
}

-(instancetype) initUniqueInstance {
    return [super init];
}
@end
На данный момент это такое-же неюзабельное поделие, как и Arduino «IDE». Практически с начала наблюдаю за проектом. Автозавершения до сих пор не появилось. До сих пор периодически продлемы с аплоадом уже существующего кода. Нету даже банального перехода к объявлению функции/класса. Хоть добавили большое количество библиотек, хоть это радует. Тот-же блокнот, что официальное поделие.
Средняя продолжительность жизни мужчин в россии 62.8 года ВОЗ, пенсионный возраст — 60.
1
23 ...

Information

Rating
Does not participate
Registered
Activity