↑↑↓↓←→←→ⒷⒶ Войти !bnw Сегодня Клубы
Привет, TbI — HRWKA! 1235.0 пользователей не могут ошибаться!
?6913
прекрасное6424
говно5887
говнорашка5512
хуита4695
anime3056
linux2645
music2625
bnw2590
рашка2561
log2340
ололо2115
pic1815
дунч1736
сталирасты1488
украина1437
быдло1435
bnw_ppl1371
дыбр1237
гімно1158

Почему компилятор не поддерживает вложенные многострочные комментарии в С++?
#GE21O6 (6) / @dartmol2 / 3505 дней назад
Народ, тут мегавопрос - нужно посчитать 9^(9^9). Но любые калькуляторы пасуют, так как это вне предела их типов данных. В программировании тоже long double не справляется. Вопрос - как узнать примерно хотя-бы что получится?)
#T04WND (15) / @dartmol2 / 3516 дней назад
Умная JIT-оптимизация смешанных вычислений http://m.habrahabr.ru/post/236689/ Достойный подход и достойная реализация. Хотя я по-старинке предпочёл бы делать такие вещи вручную. Чтобы оставаться нужным =).
#DXLXQ3 (1+2) / @dluciv / 3533 дня назад

При всей популярности Андроида, как нищебродской девелоперсокй платформы, вызывает удивление то, насколько под него мало живых скриптовых движков с библиотеками, а особенно то, насколько дохлый SL4A. Хотя сама по себе его дохлость не вызывает удивления потому, что следует из невостребованности.
Но вот откуда невостребованность?.. По-моему это просто замечательно, когда для телефона можно писать скрипты. И, более того, паршиво, когда нельзя.
И всё это на фоне того, что программирование под Андроид на родной Java -- ни разу не sexy. Куча скучного недообъектного императивного кода, куча скучного тошнотворного XML, тяжеленный симулятор для отладки... Мне доводилось программировать на КОБОЛе для мейнфреймов, так вот, большой разницы нет (собственно известно, что Java и есть современный КОБОЛ, а C++ -- PL/I). Да даже J2ME как-то веселее была по ощущениям (хотя тоже говно, скажем прямо).
Небольшую надежду вселяют системы типа PhoneGap. Но и они несколько тяжеловаты. За деревьями лес плохо видно.
Но откройте мне наконец глаза, почему SL4A никому не нужен?..

#OO3CIA (67+3) / @dluciv / 3543 дня назад

/К сожалению, некоторые старые версии Python (в частности, интерпретатор) были утеряны вследствие повреждения репозитория, поэтому обратимся к чуть более поздним версиям, чтобы увидеть, как были реализованы объекты/
http://habrahabr.ru/company/mailru/blog/234747/
Году кажется в 2002, довольно скоро после того, как я практически познакомился с Питоном впервые, мне почему-то приснилось, что внезапно исходники интерпретатора (CVS по всей видимости, кто же ещё) остались у меня одного. Знаете, эдакий приятный сон о том, как спасаешь что-нибудь ценное, прямо как Аркадий Паровозов.
Мне этот сон показался неумным тогда, и кажется неумным до сих пор. Сейчас это звучит уже совсем невероятно: слишком большое сообщество и нормальный распределённый контроль версий. Да и в 2002 г. тоже уже не было реально, чего уж там.
Однако оговорка в статье заставила меня об этом сне вспомнить...
Старперский пост какой-то получился.
Компенсирую тем, что в 1990 г., когда Питон уже кое-как был, я ходил в начальную школу и компьютер, если не считать микрокалькуляторов, руками к тому моменту трогал раз пять (впервые я лет в 5 пытался мочить Space Invaders на болгарском клоне PDP-11 у папы на работе). Только через год у меня появился Спектрум и только ещё через год я ощутил кайф во время собственных попыток на нём что-то запрограммировать.

#BHM3LF (3+2) / @dluciv / 3552 дня назад

Так как знаю что здесь много линуксоидов и наверняка многие знакомы с qt - спрошу - как в приложении qt можно запретить переключать раскладку клавиатуры? А то у меня отлавливаются нажатия клавиш, я сделал чтобы на эти нажатия определённые действия были заточены, а вот переключаю раскладку и только стрелкочки работают.

#T1ZJVG (5) / @dartmol2 / 3564 дня назад

нужная штука http://eleks.github.io/js2js/

#29PTG9 (10+2) / @dluciv / 3598 дней назад

Только поковыряв какой-нибудь транслятор Бейсика, до конца осознаёшь, насколько это очароватеьлно идиотский язык.

#2FTL2G (7+1) / @dluciv / 3603 дня назад

Кто-нибудь ковырялся с Emscripten?

В общем "Здравствуй, мир!" оно компилит хорошо.

А как с чем-нибудь посложнее?

#include <stdio.h>

int main()
{
    char name[10];
    printf("1: ");
    scanf("%9s", name);
    printf("1. Is instruction ordering ok, <%s>?\n", name);
    printf("2: ");
    scanf("%9s", name);
    printf("2. Still ok, <%s>? =)\n", name);
    return 0;
}

А так: выдаётся JavaScript, который сперва всё печатает, а потом радостно спрашивает то, что его попросили в scanf, причём один раз.

Разумно предположить, что это у меня руки кривые и я как-то неправильно Emscripten поставил ил запускаю. Ок, генерю LLVM-код при помощи CLang:

; ModuleID = 'test.c'
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32-S32"
target triple = "i386-pc-cygwin"

@.str = private unnamed_addr constant [4 x i8] c"1: \00", align 1
@.str1 = private unnamed_addr constant [4 x i8] c"%9s\00", align 1
@.str2 = private unnamed_addr constant [38 x i8] c"1. Is instruction ordering ok, <%s>?\0A\00", align 1
@.str3 = private unnamed_addr constant [4 x i8] c"2: \00", align 1
@.str4 = private unnamed_addr constant [23 x i8] c"2. Still ok, <%s>? =)\0A\00", align 1

define i32 @main() nounwind {
  %1 = alloca i32, align 4
  %name = alloca [10 x i8], align 1
  store i32 0, i32* %1
  %2 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([4 x i8]* @.str, i32 0, i32 0))
  %3 = getelementptr inbounds [10 x i8]* %name, i32 0, i32 0
  %4 = call i32 (i8*, ...)* @scanf(i8* getelementptr inbounds ([4 x i8]* @.str1, i32 0, i32 0), i8* %3)
  %5 = getelementptr inbounds [10 x i8]* %name, i32 0, i32 0
  %6 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([38 x i8]* @.str2, i32 0, i32 0), i8* %5)
  %7 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([4 x i8]* @.str3, i32 0, i32 0))
  %8 = getelementptr inbounds [10 x i8]* %name, i32 0, i32 0
  %9 = call i32 (i8*, ...)* @scanf(i8* getelementptr inbounds ([4 x i8]* @.str1, i32 0, i32 0), i8* %8)
  %10 = getelementptr inbounds [10 x i8]* %name, i32 0, i32 0
  %11 = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([23 x i8]* @.str4, i32 0, i32 0), i8* %10)
  ret i32 0
}

declare i32 @printf(i8*, ...)

declare i32 @scanf(i8*, ...)

Код нормально работает при помощи lli, компилится в нормальный ассемблер при помощи llc, в общем код ок.

Запускаю его при помощи вот этой демо-странички от Emscripten. Получаю, что характерно, аналогичную кривость, но почти наоборот, попробуйте сами.

ЧЯДНТ?

#9ESVPY (34+2) / @dluciv / 3604 дня назад

Я когда года три назад попробовал попрограммировать Ведроид штатным для него способом (скучная фригидная Java, жирный неуклюжий Eclipse, все дела), удивился тому, что гуйню к коду надо привязывать вручную. Не то чтобы я десятками леплю контролы на экран, но раздражает всё же.
Прямо вспомнилось заклинание раннего DHTML — document.getElementById. Только ещё мрачнее.
Я тогда заподозрил, что на самом деле это круто, просто я за час проникнуться не успел. Сейчас, поскольку ничего не изменилось, я заподозрил то же самое.
Помогите мне развеять подозрения и скажите: зачем оно всё такое убогое?

#KLIP0F (35+1) / @dluciv / 3631 день назад

А как лучше перевести на по-английский "говнокод" и "говнокодить"?

#QJSJFT (11+1) / @dluciv / 3741 день назад

Я задолбался. Как отучиться писать "retrun"?
Ответ "программировать на нормальных языках" не предлагать, я его знаю.

#SAHNA7 (4) / @dluciv / 3798 дней назад

Не зря студентам говорят, что код должен быть хорошо прокомментирован: https://github.com/gorohovart/hometasks/pull/1/files

#185V9W (0+1) / @dluciv / 3865 дней назад

Посоветуйте годное руководство для того, кто хочет заняться фрилансом. Имею оконченную вышку на программиста, полное отсутствие опыта работы и немного опыта программирования на С++ и С#, набитого в ходе учёбы.
Искать первую работу не против, даже активно ищу, но в моём мухосранске это может затянуться надолго.

#CDYC06 (6) / @dartmol2 / 3889 дней назад

Уже много лет С/С++ позволяет достаточно безболезненно печатать в консоль wchar_t.
Например на С++ пиши:

locale::global(locale(""));
wcout.imbue(locale());
wcin.imbue(locale());

пользуйся iostream и не горюй... казалось бы... пока где-то не попытаешься воспользоваться не-юникодными cout или printf. Или пока какая-нибудь библиотека не попытается. А вот тогда всё нафиг сломается и дальше нормально печатать будет только ASCII, а весь Юникод будет ломать к чертям!

Вы думаете это компилятор кривой, или библиотека дырявая? Ну как же, такой ведь косяк. Нет ребята, это /by design/: http://stackoverflow.com/questions/8947949/mixing-cout-and-wcout-in-same-program/8957069#8957069

#RAB9IM (4) / @dluciv / 3898 дней назад

Значит ECMAScript язык кривой, а Питон-нет?
http://habrahabr.ru/post/192098/
Ну ну.

#5VAXVD (6) / @dluciv / 3907 дней назад

Венок из 50 программ, порождающих друг друга https://github.com/mame/quine-relay

#4S0XX4 (2) / @dluciv / 3946 дней назад

ООП — такая же лажа, как теория относительности. Только ЛИСП, только эфир!
http://m.livejournal.com/read/user/science_freaks/2380873

#Z22I4X (0+1) / @dluciv / 3969 дней назад

http://lenta.ru/comments/news/2013/07/04/programmers/
/В частности, Шойгу поручил разыскать петербургских студентов, пять раз становившихся чемпионами по программированию/
Они напрограммируют... Олимпиадное программирование имеет мало общего с промышленным и оборонным. Да и с профессиональным программированием вообще.

#7ONCDA (4+4) / @dluciv / 3972 дня назад
--
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.