[ /b/ /u/ /rf/ /dt/ /vg/ /r/ /cr/ /lor/ /mu/ /oe/ /s/ /w/ /hr/ ] [ /a/ /ma/ /sw/ /hau/ /azu/ ] [ /tv/ /cp/ /gf/ /bo/ /di/ /vn/ /ve/ /wh/ /fur/ /to/ /bg/ /wn/ /slow/ /mad/ ] [ /d/ /news/ ] [ Главная | Настройки | Закладки | Плеер ]

Ответ в тред 46762. [Назад]
 [ Скрыть форму ]
Имя
Не поднимать тред 
Тема
Сообщение
Капча Капча
Пароль
Файл
Вернуться к
  • Публикация сообщения означает согласие с условиями предоставления сервиса
  • В сообщениях можно использовать разметку wakabamark
  • На данной доске отображаются исходные имена файлов!
  • Разрешенные типы файлов: video, music, code, archive, pdf, text, flash, image, vector
  • Тред перестает подниматься после 500 сообщений.
  • Треды с числом ответов более 100 не могут быть удалены.
  • Старые треды перемещаются в архив после 40 страницы.

No.46762 Ответ
Файл: prev1955.jpg
Jpg, 22.66 KB, 590×442 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
prev1955.jpg
Тред помощи начинающим свой долгий и тернистый путь в дебри программирования. А также необузданных оленей, код-мартышек, выбора ЯП и иных платиновых вещей.
Но в первую очередь всё-таки помощи новичкам. Всё, чтобы зашедший сюда в первый раз мог почувствовать себя как дома.
Главное - без фанатизма.

Предыдущий: >>44688
>> No.46764 Ответ
Файл: ca3ce3bbf76ab3edba760602bd38c468.jpg
Jpg, 64.74 KB, 590×607 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
ca3ce3bbf76ab3edba760602bd38c468.jpg
В предыдущих сериях:
Есть один массив на С, организованный с помощью указателя на указатели. Как создать массив указатель ей, ссыдлающийся на определенные элементы первого массива?

Имеет ли смысл сейчас осваивать pure Win32 API?

Не могу определиться с языком. Хочу выучить их всех.
Основы знаю и применяю в C++.
>> No.46765 Ответ
>>46764
> Хочу выучить их всех.
Лучше этого не делать.
>> No.46768 Ответ
>>46767
Например.
#include <stdio.h>

#define N 32

int main() {
int a1[N], a2[N], *p[2], **pp = p;

for(int i = 0; i < N; i++) {
a1[i] = i;
a2[i] = N - i;
printf("a1[%d]=%d a2[%d]=%d\n", i, a1[i], i, a2[i]);
}

p[0] = a1;
p[1] = a2;
pp = p;

printf("\na2[2]=%d\n", *(p[1] + 2));

return 0;
}
>> No.46770 Ответ
>>46768
Ещё вот как работает, оказывается:
printf("\na2[2]=%d\n", (p[1])[2]);
>> No.46771 Ответ
>>46768
Вот почище пример с доступом через указатель на указатель.
http://paste.lisp.org/display/329859
>> No.46772 Ответ
>>46768
>>46770
>>46771
Нет, ты не понял. У меня уже есть примерно такая структура (отличии от твоего примера там все выделяется динамически). И мне нужно создать новый указатель на список указателей, каждый из которых будет указывать, скажем, на средний элемент каждой строки исходной таблицы. А потом передать это дело в функцию, но тут проблем возникнуть не должно.
>> No.46776 Ответ
>>46772
В чём проблема?
>> No.46777 Ответ
Поругайте код, может я где про..этсамое.
Это сортировка слиянием, на D.

http://pastebin.com/8vTj08Bu
>> No.46778 Ответ
Файл: ccLReuxyz9Q.jpg
Jpg, 54.04 KB, 604×467 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
ccLReuxyz9Q.jpg
>>46772
Я не вижу, в чём у тебя проблема и чего я не понял.
> У меня уже есть примерно такая структура (отличии от твоего примера там все выделяется динамически)
> на средний элемент каждой строки исходной таблицы
Тут ты больше путаницы вносишь, чем проясняешь ситуацию. С терминологией разберись, код покажи.
Какая структура, какие строки, таблицы? В коде по последней ссылке посредством указателя на указатель (который pp) и адресной арефметики ((pp[n])[m]) организован доступ к двум массивам типа int. Если нужно получить значение из второго массива с индексом N/2 через pp, (pp[1])[N/2].
>> No.46779 Ответ
Перекатываюсь из бэ с глупым вопросом. Вопросик по плюсам.
Программка делает вот так вот.
cin >> 004356
cout << 0 0 4 3 5 6
Как можно избавиться от, так сказать, "лидирующих" нулей? Не на одну конкретно комбинацию, а чтобы в принципе не зависимо от того, сколько человек в начале нулей напишет - чтобы все они удалялись. И да, я ультра-бака, язык знаю ужасно, но надо делать. Поэтому хотелось бы не слишком запутанно. Пожалуйста. С меня няши.
Ну и приложу текстовый вариант задания. В принципе не обязательно делать именно через string. Само задание закручено на том, чтобы учиться пользоваться циклами for или while.
"Ввести с клавиатуры целое положительное число. Напечатать его цифры через пробел в прямом порядке (без ведущих нулей)."

#include<iostream>
#include<string>
using namespace std;
int main() {
setlocale(LC_ALL, "RUS");
string N;
cout << "Введите целое положительно число N: ";
cin >> N;
for (int i = 0; i < N.size(); i++) { cout << N[i] << " "; }
cout << endl;
system("pause");
return 0;
}
>> No.46780 Ответ
Файл: 1264126944732s.jpg
Jpg, 9.06 KB, 251×189 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1264126944732s.jpg
>>46779
Забирай число числом, они сами отрежутся, потом перегони его в строку и дальше как ты делаешь.
Или сразу в строку. Тогда надо дополнительную переменную. В твоем цикле пока переменная 0 и символ 0 - пропускаешь, если символ не ноль - в переменную 1 и дальше пошло нормально.
Очевидно же.
>> No.46783 Ответ
>>46779
```
#include<iostream>
#include<string>
using namespace std;
int main()
{
setlocale(LC_ALL, "RUS");
string N;
bool leading = true;
cout << "Введите целое положительно число N: ";
cin >> N;
for (int i = 0; i < N.size(); i++)
{
if(N[i] == '0' && leading)
continue;
leading = false;
cout << N[i] << " ";
}
cout << endl;
system("pause");
return 0;
}
```

Либо:

```
#include<iostream>
#include<string>
using namespace std;
int main()
{
setlocale(LC_ALL, "RUS");
string N = "";
int i = 0;
cout << "Введите целое положительно число N: ";
cin >> N;

// сначала пропускаем все нули
for (; i < N.size(); i++)
{
if(N[i] != '0')
break;
}

// выводим цифры идущие за нулями
for (; i < N.size(); i++)
{
cout << N[i] << " ";
}
cout << endl;
system("pause");
return 0;
}
```
>> No.46784 Ответ
>>46783
> ```
Что не так, бледь?
>> No.46785 Ответ
>>46784
На доброчане код в два бактика заворачивают.
Но то до апдейта было, сейчас же хуй на рыло.
>> No.46786 Ответ
>>46784
Хуячь на пастебин, разметка давно как сломана.
>> No.46787 Ответ
>>46784
Два акута.
>> No.46788 Ответ
Файл: yakutetno_14.jpg
Jpg, 322.54 KB, 1000×667 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
yakutetno_14.jpg
>>46787
Прочитал как два якута.
>> No.46789 Ответ
>>46783
#include<iostream>
#include<string>
using namespace std;
int main()
{
setlocale(LC_ALL, "RUS");
string N;
bool leading = true;
cout << "Введите целое положительно число N: ";
cin >> N;
for (int i = 0; i < N.size(); i++)
{
if(N[i] == '0' && leading)
continue;
leading = false;
cout << N[i] << " ";
}
cout << endl;
system("pause");
return 0;
}
>> No.46790 Ответ
Файл: tumblr_nn0mya6cQo1shpedgo4_1280.jpg
Jpg, 235.32 KB, 1280×823 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
tumblr_nn0mya6cQo1shpedgo4_1280.jpg
int main() {
int nItem;
list p, tmp;

printf("\nEnter a list (any character to end input): ");
while (scanf_s("%d", &nItem)) {
push(nItem);
}

/.../

printf("\nPress Enter to exit.");
fflush(stdin);
getchar();
return 0;
}
Почему программа завершается не ожидая нажатия чего либо? Я так понимаю, stdin не чистится, но почему?
>> No.46791 Ответ
>>46790
Шинда?
>> No.46792 Ответ
>>46791
Да.
>> No.46793 Ответ
>>46790
Потому что он не должен чиститься, flush это для вывода, а не ввода.
>> No.46794 Ответ
>>46793
А что же для ввода?
>> No.46795 Ответ
>>46790
У fflush неопределнное поведение, если ей передавать stdin.
>> No.46796 Ответ
>>46795
Как мне очистить поток иначе?
>> No.46797 Ответ
>>46790
А почему не system("pause")? Вроде на этой вашей винде так делают.
>> No.46798 Ответ
>>46797
Ох уж эти университеты.
>> No.46799 Ответ
>>46797
Ну, так только на винде так и делают.
>> No.46800 Ответ
>>46797
Это финиш.
>> No.46801 Ответ
Выяснилось, что, если заменить getchar() на getch(), то все работает. Как так?
>> No.46802 Ответ
Файл: AskingForHelp.jpg
Jpg, 26.42 KB, 460×276 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
AskingForHelp.jpg
Был у меня когда-то полный XAudio SDK от разработчиков, с экзамплами на разных языках, с подробной документацией и прочими прелестями. Но он помер вместе со старым хардом. Может завалялся у кого? Спрашиваю в последней надежде на анона, потому что гугл показывает только мертвые ссылки на мертвых форумах.
>> No.46803 Ответ
>>46798
>>46800
> качественные коментарии по теме
>> No.46804 Ответ
>>46803
Это крики души.
>> No.46805 Ответ
Файл: 221.png
Png, 128.05 KB, 400×272 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
221.png
>>46764
char** source = ...;
char my_array = (char) calloc(sizeof(char*), 10);
my_array[0] = source[0];
my_array[1] = source[4];
...
free(my_array);
Проще представить, что `*char` это `char`.
>> No.46806 Ответ
>>46805
Зафейлил разметку, лол.
http://pastebin.com/W8GeXMSS
>> No.46807 Ответ
>>46800
Проблемы? На стековервлоу именно так советуют делать виндопользователям. На *nix консольные программы запускаются в консоли (неожиданно!), которая сама по себе не закрывается после завершения программы, поэтому костыль с ожиданием ввода с клавиатуры не используют.
>> No.46808 Ответ
>>46807
Кто тебе именно так и советует? По первому результату system pause http://stackoverflow.com/questions/1107705/systempause-why-is-it-wrong
> которая сама по себе не закрывается после завершения программы
https://specifications.freedesktop.org/desktop-entry-spec/latest/ar01s05.html
Terminal=true
>> No.46810 Ответ
Привет, тред. Не подскажешь, как спарсить с OSM данные об объектах (интересуют достопримечательности, рестораны etc.) в таком-то городе? По сути нужно получить только их координаты, названия и категории.
>> No.46812 Ответ
Файл: 1478038698098.jpg
Jpg, 243.24 KB, 700×849 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1478038698098.jpg
Насколько нехорошо обманывать заказчика в вопросе о запущенных проектах?
Я на 90% уверен, что его задачу я выполню, но пока спрашивает примеры работ и меня невольно тянет к идее предстваить своим какой-нибудь запущенный проект.
>> No.46814 Ответ
>>46812
Тебя спалят же 90%. Это детская идея.
1) На сайтах везде написано обычно, кто делал
2) Возможно, ещё где-то написано. На сайте делавшей студии, например.
3) Велик шанс, что ты выберешь своими проекты, которые тебе реализовать было бы абсолютно не по зубам.
4) Тебе зададут вопросы по этому проекту и ты не сможешь ответить.
5) Возможно заказчик знает этих ребят сам или может уточнить.
>> No.46815 Ответ
Файл: 14687182937360.jpg
Jpg, 241.67 KB, 1920×1080 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
14687182937360.jpg
>>46814
Ага, таки решили не хитрить: фронт скинул несколько работ в архивах, охо, а заказчик их съел и согласился работать дальше.
Насколько сложно деплоить настоящий коммерческий проект, если я делаю это впервые? Проект - магазин на Джанго.
>> No.46816 Ответ
>>46814
Я двумаю речь идет о халтуре, а не устройстве на нормальную работу с техсобом. В таком случае заказчик вряд ли будет что-то проверять.
>> No.46824 Ответ
>>46815
Относительно сложно. Или скорее просто долго, может быть. Я не уверен. Я надеюсь, ты знаешь основные связанные с безопасностью вещи? Сложностей много с тюнингом производительности и дырами. В остальном ещё и несколько долго.
>> No.46831 Ответ
Решил от нехуй делать поучаствовать в AI cup'e. Скачал noinstall сборку CodeBlocks с Mingw для винды, открыл стандартный проект и получил `lwc232.lib` not found и ещё 12 аналогичных ошибок при компиляции. В папке с либами соответственно `libwc232.а` Какого хуя и что с этим можно сделать?
>> No.46832 Ответ
>>46831
Ебаная разметка.
>> No.46833 Ответ
Аноны, не подскажете, где взять размеченных датасетов для классификации твитов на инглише? Нужно научить классификатор распознавать твиты на тему путешествий. Гуглится по большей части что-то нерелевантное.

Конечно, можно скачать пару тысяч рандомных и тематических твитов и разметить их ручками, дело относительно нехитрое, но, блин, лень.
>> No.46851 Ответ
Файл: 2016-11-11-015757_1920x1080_scrot.png
Png, 39.61 KB, 1065×551 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
2016-11-11-015757_1920x1080_scrot.png
Запилил юзерскрипт который встраивает в сообщения код\пасту с pastebin и ideone.
https://github.com/tagener-noisu/CodeEmbedding

http://pastebin.com/3Hb6bfNS
При включенном скрипте над ссылкой появится фрейм с текстом, ресайз в нижнем правом углу.
>> No.46852 Ответ
>>46851
Крут. В функции replaceLinks у тебя происходить перебор ВСЕХ линков, можно более конкретизировать селектор, типа a[href^="https://pastebin.com/"]. Также _matchUrl выглядит не очень, а если сервисов будет десяток, тоже копипастить будешь?
>> No.46853 Ответ
> у тебя происходить перебор ВСЕХ линков
Не знал про такую фичу. Попробую.
> а если сервисов будет десяток
Зависит от сервисов, если все будут следовать паттерну domain.com/pASteI, то вполне достаточно будет заменить регулярку чтобы матчила все любые домены, если нет, то переписать не проблема.

Update
* Закоммитил ресайз про который написал, а добавить забыл.
* Пофиксил множественную замену
>> No.46854 Ответ
>>46762
Кто-нибудь работал с R?
>> No.46855 Ответ
Файл: 1478900310089.png
Png, 2.00 KB, 300×20 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1478900310089.png
>>46854
Я писал недавно парсер для импорта неструктурированных данных.
Весьма ебанутая штука, лол. Так сходу запрыгнуть на него сложно для привычного к мейнстримным языкам человека.
>> No.46856 Ответ
>>46855
> Весьма ебанутая штука, лол.
Еще как. А есть для нее какие-то гайды на русском?
>> No.46857 Ответ
>>46856
А тебе именно скрипты надо? Потому что они там не основное, в общем-то.
Я покуривал эту книжку https://www.nostarch.com/artofr.htm и гугл по потребности. На русском вроде есть тоже какая-то переводная от manning.
>> No.46858 Ответ
Файл: __dustox_and_musashi_pokemon_drawn_by_a_shacho__sa.jpg
Jpg, 246.08 KB, 850×1338 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
__dustox_and_musashi_pokemon_drawn_by_a_shacho__sa.jpg
>>46857
Хочу полноценно разобраться.
Спасибо за за помощь!
>> No.46864 Ответ
Файл: fw.png
Png, 78.46 KB, 425×344 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
fw.png
На саете codescool.com какой-то фри-викенд запилил, стоящая вещь или нет?

https://www.codeschool.com/free-weekend
>> No.46865 Ответ
>>46864
Ну и что ты там за два дня насмотришь? Обычная замануха с перспективой на подписку.
Алсо, на е-лернинг трекерах были недавно паки с этого кодескула, там наверное всё и есть, кроме самого новья. Вроде даже у меня где-то валяется.
>> No.46917 Ответ
Файл: 4949__safe_solo_meme_simple+background_colgate_min.png
Png, 63.82 KB, 469×413 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
4949__safe_solo_meme_simple+background_colgate_min.png
Хочу написать программку под шинду, которая будет хранить весь текст, который побывал в буфере обмена. Писать буду на С или С++, хотя для такой маленькой программы даже разницы в коде не будет. В связи с этим у меня возник ряд вопросов. Первый из них: как сделать, чтобы программа запускалась в фоновом режиме? Знаю, что можно из программы запускать другую в виде демона, но это как-то костыльно. Причем, чтобы она не мешала другим программам. Я не знаю, как там это точно работает, но, подозреваю, что придется при каждом нажатии кнопки придется ее обрабатывать, а потом заталкивать код обратно в буфер ввода. Это тоже выглядит как-то криво.
>> No.46918 Ответ
>>46917
Пылко объесняю почему это нинужно.
>> No.46920 Ответ
>>46918
Запускать программу в фоновом режиме?
>> No.46936 Ответ
>>46920
Думаю, он имеет в виду написание такого софта в принципе. Если тебе не для самообучения, то в гугле "windows clipboard history".
>> No.46937 Ответ
>>46917
>>46936
А если все же для самообучения и разбирательства, то гугли AddClipboardFormatListener. Нищенская реализация "фонового" приложения - скрыть консоль или окно на старте через ShowWindow, а саму приложуху записать в автозапуск. Если ты не знаешь "как там это точно работает", то тебе пригодится знать что такое WinAPI.
>> No.46945 Ответ
>>46937
Ясно, благодарю. Да, в основном для обучения, также есть идея другой программы, эксплуатирующей примерно те же моменты.
>> No.46995 Ответ
Файл: 1maxresdefault.jpg
Jpg, 68.80 KB, 1280×720 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1maxresdefault.jpg
Анон, у меня наверное глупый вопрос по части методов обучения.

Прочитал учебник по Java, ясное дело ничего толком не запомнил, вернее не "набил руку" в решении задачек. Проклял себя, полез решать задачки на всяких ресурсах.
И, опять же, ясное дело, практически ничего не могу решить (ну кроме совсем лёгких примеров).
Правильно ли будет подглядывать решение, обдумывать, переписывать и т.д.?
Ну т.е. от этого будет толк и останется что-нибудь в памяти, или пустая трата времени?
И вообще советы по самостоятельному обучению буду рад услышать.
>> No.46996 Ответ
>>46995
Ты читал учебник по Java, а тебе нужен учебник по программированию. Учебник по языку - для тех, кто переходит с одного языка на другой.
>> No.46999 Ответ
>>46996
Твои слова да всем авторам этих, блядь, учебников в уши. Если бы учебники по языку были строго "для тех, кто переходит с одного языка на другой", то такие учебники были бы размером с брошюрку.
мимо
>> No.47000 Ответ
>>46996
Я практически всё понял из учебника, дело в запоминании и применении этих знаний.
>> No.47001 Ответ
>>47000
В том то и дело, что ты не понял то, чего в этих учебниках нет.
>> No.47002 Ответ
Файл: shirayuki_kantai_collection_drawn_by_kanamura_will.jpg
Jpg, 214.82 KB, 730×1299 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
shirayuki_kantai_collection_drawn_by_kanamura_will.jpg
>>46995
> Проклял себя
Вон из профессии.
>> No.47004 Ответ
>>47001
Так что же делать?
Каковы ответы на заданные мной вопросы?

>>47002
Нет. с: девочку считая, не смог не ответить
>> No.47007 Ответ
>>47004
Почитай ещё что-нибудь. Какую-нибудь книгу по программированию. Попытался сформулировать, что именно неполучается. Потом спроси где-нибудь по этой проблеме.
>> No.47008 Ответ
Файл: w_21954a62.jpg
Jpg, 733.26 KB, 1684×1191 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
w_21954a62.jpg
>>46996
> учебник по программированию
Реквестую учебник^W хорошую книжку по программированию, в которой обсасывались бы базовые понятия с примерами.

Алсо - поставьте в шапку уже какой-никакой список "с чиво начать", а то мы вас заебем платиной же
>> No.47009 Ответ
>>47008
Сейчас тебе насоветуют сицпов и хачкелей.
>> No.47010 Ответ
>>47008
На тему "с чего начать" есть диаметрально противоположные мнения. Кто-то будет рассказывать про всякие лиспохаскели, кто-то будет советовать сишарп или бейсик какой-то.

Лично я придерживаюсь точки зрения, что начинать стоит с Си под GNU/Linux или BSD, изучив по ходу дела основные алгоритмы и структуры данных, научившись пользоваться отладчиком, освоив указатели и адресную арифметику. После этого надо немного потыкать в ассемблер, например попробовать написать какие-нибудь простые программы на нем, скомпилировать сишный код в асм и потом его попробовать разобрать и установить связь между одним и вторым.
Дальше уже можно двигаться на свое усмотрение так сказать
>> No.47020 Ответ
>>47008
Из твоего поста совсем не ясно, чем ты планируешь заниматься. Сайты, игры или что.
Мне кажется, лучшее - вот этот видеокурс. За 20 уроков ты выучишь основы языка (все эти циклы, условия, фунции и прочее), выучишь ООП, как пользоваться нужными алгоритмами (сортировкой, мапом, фильтром, поиском и прочее), самые важные паттерны на практике, выучишь, что такое БД, и как ей пользоваться (причем, и в консоли и в коде). То бишь, базовые понятие на примерах.
https://laracasts.com/series/php-for-beginners/episodes/1
Но это для php.
Лучшая книга - официальная документация и твоя практика. В документации всегда есть примеры. Все остальные книги - мусор. Учи основы по видеоурокам, там всегда рассказывают все самое нужное и необходимое для тебя, причем всегда на примерах, и после изучения основ начинай сразу делать то, что тебе интересно. Есть подход, сначала все выучить, а потом начать делать. Ты лучше делай сразу, и учи по ходу.
Никогда не учи что-то наперед, на всякий случай, а вдруг пригодится мало ли, сэкономишь кучу времени. Не бойся говнокода, говнокод это практично, хорошо и нормально, все через это проходят.
>> No.47021 Ответ
>>47008
Так что.
> > "с чиво начать"
С того, что тебе интересно. С видеоуроков, а зачем сразу практики.
>> No.47023 Ответ
>>47020
Во-первых, два чая этому господину.
Во-вторых, действительно не понятно чего человек хочет. После изучения совсем азов (синтаксис, алгоритмы, структуры данных) я бы советовал бы заняться тем что интересно. Писать очередную вакабу, лепить марио или движок для VN. Суть в том, что получается опыт использования языка для достижения реальных задач, раскручивается понимание алгоритмов работы как самого приложения, так и алгоритмов работы с кодом, раскрывается ООП и зачем оно нужно (как его не обзови принципы везде примерно одинаковые). Да, я сторонник обучения через решения реальных задач.
Во-третьих, говнокод, это хотя и плохо, но нужно понимать почему это говнокод, и почему этот говнокод в данном случае сгодится. Как первое так и второе приходит с практикой и работой в количестве больше одного программиста над проектом.
Боятся говнокода не нужно, его просто нужно делать со временем лучше и со временем будет получаться лучше. Почти как рисование (insert any another job). Ну и классическое, через год каждый с вероятностью 95% напишет делающий тоже саомое код по другому. Да и вообще, думать о говнокоде - не задача новичка.
>>47010
> На тему "с чего начать" есть диаметрально противоположные мнения.
Потому что у каждого свой опыт прихода в профессию и свой взгляд как можно это было оптимизировать.
> Си под GNU/Linux или BSD
Имхо порог вхождения довольно высок. Хотя идея, конечно, интересная. С другой стороны я не могу себе представить беспроблемную IDE для новичка на проекте сложене HelloWorld.
>> No.47024 Ответ
Файл: Screenshot-from-2016-12-09-11-43-21.png
Png, 68.56 KB, 682×717 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Screenshot-from-2016-12-09-11-43-21.png
>>47023
>>47020
Благодарю вас, достойнейшие господа. Сейчас я прохожу Learn Python The Hard Way. Потом планирую Dive Into его же. И пхп тоже хочу, а перл мне вроде как даже можно в шараге взять курс.

Что мне надо/хочется? Мне хочется заниматься интересным делом, а надо, чтобы за него платили ну хотя бы тыщи полторы в месяц. Кодинг выглядит привлекательно, тому що я умный интроверт и с детства любил книжки про магию. А теперь еще и учусь в шараге на одмена/эникея и в процессе увлекся скриптованием в баше для фана пожалуйста, не говорите мне, как нинужна учеба в шараге, мне за нее работодатель платит, считайте это способом выкроить время для хобби

Почему питон? Потому что я пилил проект на Raspberry Pi для экзамена по дурацкому предмету в шараге, и с GPIO через питон общаться было очевидно. И еще мой хороший знакомый - питонист - посоветовал книжек.

Я плохо могу но честно-честно попробую в видеоуроки. Формат Learn Python the Hard Way - учеба через практику - меня устраивает.

Сейчас передо мной, как я вижу, стоят две группы проблем:
1 - базовые теоретические понятия + матан
2 - real-world проекты, куда можно будет приложить знания. Я пока не особо задумываюсь над этим, чтобы не потерять мотивацию

Прилагаю кортинку моей первой-единственной погроммой на пейтоне, чтобы достопочтеннейшие господа поняли, с каким дном они имеют дело.
>> No.47026 Ответ
>>47020
Кого ты назвал мусором. Есть куча отличных, которые позволяют не писать говно-код и не ныть потом постоянно, что видете ли ты не можешь поменять код из-за того, что он слишком запутан, как вы постоянно ноете. Начальник, ну пожалуйста, давай обойдемся без этой функции, опять все переделывать! Я не знаю, откуда идут баги! Вот к чему все это приводит. Опыт и практика конечно нужны, их всегда и везде переоценивают, а теорию всегда недооценивать. Не только в программировании. Потом они думают, что у них не получается, так как не хватает таланта, тогда как им не хватает знаний. Потом они ищут себе наставника, тогда как текст легко может заменить живого человека, который вообще не нужен.

Есть Мейерская книга по ООП, есть несколько Фаулеровских книг
, есть Совершенный код Макконела. По структурам данных вроде была книга Кормана.

Вы как хотите, а я вообще ненавижу видео-курсы. Текстовая информация почти всегда лучше чем чья-то устная речь.
>>47023
Для новичков то, для новичков туда. Могу предложить перестать самоунижаться и стать серьёзным человеком с серьёзным отношением к обучению. Цель - стать профессиональным разработчиком ПО, ты не можешь быть новичком вечно.
>> No.47028 Ответ
Файл: 14659246510410.jpg
Jpg, 748.10 KB, 2310×2306 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
14659246510410.jpg
> С чего начать
Кхе-кхе. Гм.
>> No.47029 Ответ
Файл: c5.gif
Gif, 3.84 KB, 254×238 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
c5.gif
Кому-нибудь интересен рендеринг графена с нуля? Хочу геометрический движок с генерацией функций графического ренеринга и физических взаимодействий объектов. Графические примитивы, матан, трансляция в GLSL - на таком уровне. Из OpenGL только Compute Shaders понадобятся. Цель - запилить нечто похожее на визуализатор математических выражений, как в Wolfram Alpha, на его основе уже физический сендбокс, а там можно и игоря в качестве побочного продукта. Сам слишком кукоретик, очень медленно костыляю. Но рад был бы хотя бы пообсуждать с таким же кукоретиком тему.
>> No.47030 Ответ
>>47029
Мне интересно было бы почитать, но сам я лошара и ничем помочь не смогу.
мимо ОП треда про числа с плавающей точкой
>> No.47031 Ответ
Файл: deer-dreams-04.jpg
Jpg, 56.75 KB, 534×401 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
deer-dreams-04.jpg
Насколько написание программ под окна отличается от оного под линуса и прочие гну?
>> No.47032 Ответ
>>47031
Поконкретней, пожалуйста.
>> No.47033 Ответ
>>47031
Зависит от фреймворка и языка. Нативно на крестах отличия довольно заметные. На жабе с каким-нибудь FXом в обнимку - не очень.
>> No.47034 Ответ
>>47033
Это если речь о десктопных приложениях, есессно.
>> No.47039 Ответ
>>47033
>>47034
Ясно, это меня и интересовало.

Кстати, а есть ли отличия для низкоуровневых языков?
>> No.47040 Ответ
>>47039
Для них то и будут основные отличия. Для них отличий очень много. Чем больше абстракций, тем сильнее они прячут отличия.
>> No.47041 Ответ
>>47040
> Чем больше абстракций, тем сильнее они прячут отличия.
В идеальном мире.
>> No.47042 Ответ
>>47041
В общем и целом, остальное зависит от конкретных случаев.
>> No.47043 Ответ
Файл: 1459950153524.jpg
Jpg, 399.04 KB, 1024×1255 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1459950153524.jpg
Анон,
есть идея сделать сайт с парочкой ботов, которые бы объединяли и обрабатывали инфу с десятка других сайтов. Никаких сложных вычислений: просто работа с текстами на уровне склеить, найти частые слова и прочая лабуда, сверстать ссылки и картинки на главной.

Вопрос, как это реализовать?

У меня есть распберри, думаю сделать на нём сервер.
Можно ли распберии оставлять постоянно включенным эс из, или же ему непременно нужен вентилятор?
Электричество для них, я так понимаю, копейки стоит при потреблении в 30 Вт час за сутки (в месяц около 1кВт, то есть 5 рублей максимум, верно же)?

Знаю я только питон, но не будет ли это забиванием шурупов?
Нормлаьные люди для подобного РНР используют или что?

Не хочу ебаться с дизайном сайта.
Где брать нормальные шаблоны или даже покупать?
Никаких изысков: менюшка с главной страницей, архивчиком, и about + место для рекламок.

Что сделать, чтобы меня могли найти в гугле?
Почитал всяких сеошников. Они говорят, что нужно соблюдать правила построения текста, включить соцблок и вести твиттер с ссылками. Но достаточно ли этого или нужно ещё реально напрягаться и лезть на всяких форумы и пихать ссылки на свой ебучий ресурс?
>> No.47044 Ответ
>>47043
Крон, бидон, бутстрап.
Гугл сам тебя найдет, сеошникам кол в анус.
>> No.47045 Ответ
>>47043
Таких сайтов как говна. Пользы обществу и пользователям - ноль. Поисковики умеют определять повторы и определять, кто был первым, из-за этого сайт гарантированно будет очень далеко в выдаче, если они тебя вообще не забанят за такую херню. Во всяком случае сами копируемые тексты не будут искаться у тебя, а будут только у тех, у кого ты их скопировал(или у кого они скопировали).
> правила построения текста
Как ты их будешь соблюдать, если тексты тупо копирует бот?
> ещё реально напрягаться
Того, что ты до этого перечислил достаточно будет уже, чтобы тебя более чем "реально" напрячь. На расслабон вообще не рассчитывай, с таким подходом у тебя мгновенно порох закончится.
Без ссылок на твой сайт гугл не сможет тебя в принципе найти, он же по ссылкам ищет, и ты у него в базе не появишься. Вообще да, надо с ними по идее тоже что-то делать.
> Нормлаьные люди для подобного РНР используют или что?
Все люди, делающие сайты, - нормальные, на чём бы они их не делали. Да, тебе хватит php при всех его недостатках, которые не будут видны в этой ерунде, тем более ничего сложнее ты учить не будешь.
На распбери ты убьёшь кучу времени и ничего в итоге не сделаешь. Целей и предметов изучения слишком много.
>> No.47047 Ответ
Файл: test.dec.jpg
Jpg, 869.97 KB, 200×200 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
test.dec.jpg
>> No.47052 Ответ
>>47040
Ну, я так и думал. Спасибо.
>> No.47054 Ответ
>>47043
Дорогой анончик, у тебя каша в голове.
Использовать для сайта свой сервак, а тем более малинку - плохая идея.
Что с питоном, что с пхп нужно будет использовать фреймворк, так что разница будет минимальна. Разве что, на питоне писать приятнее, но его сложнее деплоить.
Немного сумбурно вышло
>> No.47055 Ответ
>>47043
И кстати, с агрегаторами у тебя врядли что-то выйдет. Гугол не очень к такому относится
Если будут ещё вопросы, можешь найти меня в https://telegram.me/webach
>> No.47056 Ответ
>>47044
бидон?
>> No.47059 Ответ
Нужно ли переписывать код примеров из книг?
>> No.47060 Ответ
>>47059
Нет, лучше писать по памяти что-то похожее. Но его нужно читать и обращать внимание на отличия от того, как бы ты написал. увидел что-то непонятное, останавливаешь чтение и пошёл выяснять. В зависимости от важности определённого куска, который ты не понимаешь. Важность придётся определять самому по контексту.
>> No.47061 Ответ
Файл: tumblr_nwn314nMXn1rhe8jbo1_500.jpg
Jpg, 205.07 KB, 466×700 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
tumblr_nwn314nMXn1rhe8jbo1_500.jpg
Есть С. Я хочу считать последовательность символов неизвестной длинны. Как это сделать? gets сразу же переполнение буфера вызывает. В тырнете все решения аля "char stroka[100]", как же у меня горит с них! Что непонятного в словах "неизвестного размера"?! Сейчас я знаю, как сделать с помощью списка. А именно, создать односвязный список, в каждый элемент которого пихать по одному символу. Потом этот список уже преобразовать в строку или сразу с ним сделать, что мне нужно. Но это выглядит как-то костыльно, нельзя ли попроще?
>> No.47062 Ответ
>>47061
1. используй malloc() для выделения памяти, достаточной для N символов. для начала возьми N=100.
2. прочитай N символов в эту память. если входная последовательность закончилась, то выход.
3. если входная последовательность не закончилась, выдели новый блок памяти размером N*2.
4. скопируй ранее прочитанную последовательность в новую память. освободи старую память используя free().
5. возвращайся к пункту 2. будь внимателен и не записывай новые считанные данные поверх старых.

если это задание на односвязный список, то предлагаю в каждый элемент односвязного списка пихать не по одному символу, а по 100. или в первый 100, а в каждый последующий в два раза больше. такой подход оптимален по количеству выделений памяти.
>> No.47063 Ответ
>>47062
Точно, спасибо.
>> No.47064 Ответ
>>47061
То есть у тебя поток? Что мешает использовать стандартные функции работы с потоком?
>> No.47065 Ответ
>>47064
Например?
>> No.47066 Ответ
>>47065
fgetc.
>> No.47067 Ответ
>>47066
Но ведь она считывает один символ.
>> No.47068 Ответ
>>47067
Так тебе и нужно посчитать последовательность символов. Или я чего-то не понимаю?
>> No.47069 Ответ
>>47068
Не посчитать, а считать, в смысле прочитать и записать.
>> No.47070 Ответ
>>47069
Пардон. Тогда >>47062 описал доходчиво. Но динамическое выделение памяти медленное, если тебя это заботит. Можно читать в массив фиксированного размера и сразу обрабатывать, если данные действительно потоковые.
>> No.47071 Ответ
>>47070
Нет, в моей задаче сразу обработать не выйдет. Динамическое выделение меня вполне устраивает.
>> No.47072 Ответ
>>47070
> Но динамическое выделение памяти медленное, если тебя это заботит.
оно может быть "медленным" в определенных условиях. в большинстве случаев оно быстрое.
есть правило, звучащее как "преждевременная оптимизация - корень всех зол". еще есть правило "make it work - make it right - make it fast", то есть: быстродействие - в последнюю очередь.
важно знать асимптотическую сложность всех используемых алгоритмов ("O - нотацию"). быстродействие отдельных операций ни в учебных упражнениях, ни в существенной части реальных задач - не важна.
если выделять память блоками, увеличивающимися в геометрической прогрессии, то количество выделений памяти - O(log N), что простыми словами значит - "быстро".
>> No.47074 Ответ
>>47072
> важно знать асимптотическую сложность всех используемых алгоритмов ("O - нотацию").
Это опять ты? Выделение памяти сложно назвать алгоритмом. Ты ведь с ОС взаимодействуешь (системный вызов, например, нельзя алгоритмом назвать). И в разных реализациях компилятора может быть, а может и не быть оптимизации для конкретного случая. Не надо только про большинство и какие-ниубдь стандарты де-факто.
> в большинстве случаев
> быстродействие отдельных операций ни в учебных упражнениях, ни в существенной части реальных задач - не важна.
> есть правило, звучащее как "преждевременная оптимизация - корень всех зол"
> еще есть правило "make it work - make it right - make it fast", то есть: быстродействие - в последнюю очередь.
Есть абсолютно разные ситуации, в том числе такие, где необходимо думать над оптимизацией на этапе проектировки.
В общем, да, динамическое выделение памяти может не быть медленным. Согласен. И про асимптотическую сложность выделения памяти ты смешно пошутил.
>> No.47075 Ответ
>>47074
> Есть абсолютно разные ситуации, в том числе такие, где необходимо думать над оптимизацией на этапе проектировки
в таких случаях это не называется "оптимизацией".
на этапе проектирования нередко нужно думать о быстродействии. и имеется в виду именно асимптотическая сложность, а не количество тактов на библиотечные вызовы.
бывают и исключения. если ты хочешь поговорить о них, то приведи пример, что конкретно имеешь в виду.

я хочу подчеркнуть, что человеку, который делает упражнения на связные списки или впервые знакомится с динамическим выделением памяти, забивать голову мыслями о "быстродействии" категорически противопоказано.

> И про асимптотическую сложность выделения памяти ты смешно пошутил.
вообще у меня не было цели шутить, поэтому, вероятно, ты просто чего-то не понял.
>> No.47076 Ответ
>>47075
Вот жеж правда говорят, что среди погромистов процент специалистов с зашкаливающим ЧСВ максимален.
Я тоже наслышан о "правиле" не оптимизировать код, пока не накостыляешь тонну говна. Это правило так-то часто приходится слышать от ИТ-идолов из корпоративной среды. Не хочешь - не забивай голову. Ни себе, ни другим.
>> No.47078 Ответ
Файл: 7uZWPOQOM6k.jpg
Jpg, 15.01 KB, 500×335 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
7uZWPOQOM6k.jpg
Хочу написать аудиоплеер который сможет mp3. Собираюсь писать на С/С++ При этом знаю только С на уровне знания всех операторов (вроде бы как), нескольких функций из стандартной библиотеки (которые не имеют никакого отношения к звуку) и написания консольных приложений. На сколько я знаю, С++ не сильно отличается от С, но является более гибким. Так ли это? Если да, то я бы хотел писать на нем. На сколько задача сложна? Что вообще мне нужно? С чего начать? Ах да, под линуксы (конкретно, под дебианом) прогу хочу.
>> No.47079 Ответ
>>46762
Хочу работать С программистом. С не знаю. Достаточно ли изучить его на начальном уровне и написать пару проектов или обязательно получать высшее образование?
>> No.47080 Ответ
>>47079
Никто тебя сейчас си на ходу учить не будет, спрос небольшой и нужны специалисты, а не джуниоры.
>> No.47081 Ответ
>>47079
Ты ничего не можешь выучить кроме одного языка на начальном уровне без помощи образования? Тебе надо знать гораздо больше даже для создания сайтов на пыхе, не говоря уже о си. Без образования обойтись можно. Но это не значит, что программистом стать проще. Это значит то, что программистом стать сложнее, так как за ручку препод тебя не отведёт.
>> No.47082 Ответ
Анон, подскажи хостинг django или rails, желательно недорогой. И заодно, какие версии языка/фреймворка там стоят. Спасибо
>> No.47084 Ответ
>>47082
Я бы на шаред хостинг не надеялся. Для дешёвых поделий на шаред-хостинге для жадин лучше брать пых. Если уж делаешь что-то большое и серьёзное, то нужен отдельный сервачёк, vds или что-то типа. Есть https://www.digitalocean.com, может есть что-то ещё.
>> No.47085 Ответ
>>47080
>>47081
Ясно. Спасибо.
>> No.47086 Ответ
>>47081
На хероку можно бесплатно хостить простенький проект.
>> No.47087 Ответ
>>47086
Мне сайт-визитку надо.
.ru домен можно сделать?
>> No.47088 Ответ
>>47087
Можно. Но нахуя тебе какие-то технологии для визитки? Статики достаточно.
>> No.47089 Ответ
>>47088
Джанго это уже технологией считается?
>> No.47090 Ответ
Файл: 1484242002914.png
Png, 1.42 KB, 300×20 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1484242002914.png
>>47088
Из технологий мне разве что нужно админку сделать, поэтому хотел джанго.
Ладно, тогда сейчас выучу ларавел.
А раз так, мне нужно будет всего лишь залить папку с проектом на хостинг? Фреймворк - это же куча скриптов внутри проекта?
>> No.47091 Ответ
>>47089
А что же это?
>>47090
Да можешь на чем угодно делать, лол, просто зачем переусложнять?
Насколько я помню, там основано на гите, так что закоммитишь свой проект и оно само деплоит.
>> No.47092 Ответ
>>47089
У нас всё, что имеет название, принято называть технологиями. Не горшками же их называть.
>>47090
На визитку проще чпокнуть cms на пыхе и всё.
>> No.47099 Ответ
Файл: Vu9LQYG.jpg
Jpg, 33.47 KB, 333×480
edit Find source with google Find source with iqdb
Vu9LQYG.jpg
Файл: 1005909611.jpg
Jpg, 53.41 KB, 492×700
edit Find source with google Find source with iqdb
1005909611.jpg

Анон, есть две книги. Я так понимаю, будущему программисту понадобится инфа из обеих? Или хватит одной "Современные операционные системы"?
>> No.47100 Ответ
>>47099
В целом, будущему погромисту ни одна не нужна.
Нужен синтаксис, алгоритмы, структуры, паттерны.
У самого языка может быть в стандартной библиотеки юникс-днище и в придачу шиндовс костыли, по которым и ознакомишься с операционными системами, а может и не быть, если это изолировано за вм.
>> No.47101 Ответ
>>47099
Они очень хорошие и полезные, но в целом можно обойтись без обоих.
>> No.47102 Ответ
>>47100
>>47101
Спасибо.
Может в таком случае подскажете откуда можно почерпнуть общие знания, так сказать.
>> No.47103 Ответ
>>47102
Всякие Корманы, Макконелы, Мейеры, банда четырёх, Фаулеры. Ищи по отзывам в обсуждениях.
>> No.47104 Ответ
>>47099
Эти книги говно, потому что рассказывают слишком много низкоуровневых подробностей, но обходят стороной vlan например.
>> No.47105 Ответ
>>47104
Там вообще что-нибудь про IOS есть?
>> No.47108 Ответ
>>47104
В книге про сети не было про vlan? Да, это теория, а не практика, зато даёт твёрдую основу, ты уже будешь понимать, что и как в реальности происходит. в частности благодаря этому не будешь делать глупых выводов относительно производительности код.
>> No.47109 Ответ
>>47104
https://montcs.bloomu.edu/Readings/Computer%20Networks%20-%20A%20Tanenbaum%20-%205th%20edition.pdf
Написано, что в 4-й главе есть про vlan. Ты уверен в том, что говоришь? Это сети, 5-е издание. Да, есть ещё третья книга этого чувака по сетям, такая же длинная, как и эти две.
>> No.47119 Ответ
>>47105
У смартфонов обработка прерываний не отличается от.
>> No.47129 Ответ
Челлендж. Выучить за завтра с нуля JS (начну сразу с jquery) и написать змейку.
Клавиатурой буду двигать, мышкой ставить еду.
Как все это будет реализовано - пока что не представляю вообще.
Код скину сюда, пожелайте мне удачи.
>> No.47130 Ответ
>>47129
js весьма злоебуч в плане изучения, надо его прохавать, а не брать нахрапом.
Жквери вообще прошлый век, никто им уже не пользуется.
>> No.47131 Ответ
>>47130
> Жквери вообще прошлый век, никто им уже не пользуется.
Про пыху так тоже говорят, ага.

Ты ему предлагаешь angular брать?
>> No.47133 Ответ
>>47131
> Про пыху так тоже говорят, ага.
И что? Имеют право. Попробуй запретить мне также говорить про пыху. Я бы всегда предложил не брать пыху, если только это не сайт-визитка или интернет-магазин.
А jquery, как и ангуляр - не для игр. Может лучше брать какой-нибудь Phaser?
>> No.47134 Ответ
Файл: 1484891744-08.jpg
Jpg, 61.00 KB, 700×525 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1484891744-08.jpg
Котаны, такой вот почти философский вопрос: как кодить не отвлекаясь по 100500 строк кода в день и как научиться адекватно оценивать время на таски, не просрачивая их в итоге?
>> No.47135 Ответ
>>47134
Кодить по 100500 строк - это помидорная техника или что-то еще из раздела GTD. Адекватные эстимейты - это опыт вцелом и знание текущего проекта в частности.
>> No.47136 Ответ
Файл: SVoCPCA.jpg
Jpg, 612.79 KB, 3250×4250 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
SVoCPCA.jpg
>> No.47137 Ответ
>>47135
А есть помидорные таймеры под линуксы (под кубунту в частности) например?
>> No.47138 Ответ
>>47137
На смартфоне удобнее, кмк.
>> No.47139 Ответ
>>47135
>>47137
Раскройте для ньюфага тему поподробнее. Что за таймеры?
>> No.47140 Ответ
>>47139
Вкратце: 25 минут работаешь, 5 минут отдыхаешь.
>> No.47141 Ответ
Файл: 1005538709.jpg
Jpg, 24.22 KB, 700×700 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1005538709.jpg
>>47137
https://www.ozon.ru/context/detail/id/18526907/
Использую линкрелейтед постоянно. В основном для готовки. Механический таймер - это великолепная вещь, никакой таймер на телефоне или компе и рядом не лежал. Потому что можно очень быстро запускать его. И в том числе жирными от еды или мокрыми руками.
>> No.47142 Ответ
>>47140
Ясно.
>> No.47143 Ответ
Файл: 1458450772118612739.jpg
Jpg, 275.19 KB, 1366×768 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1458450772118612739.jpg
Что думаете о расте? Пробовал кто-нибудь? На что похож? Как оно в целом?
>> No.47148 Ответ
Как выучить с++ за месяц? С нуля.
>> No.47149 Ответ
>>47148
0 =========> c++
>> No.47150 Ответ
>>47149
Но если серьёзно, за сколько примерно можно освоить плюсы, чтобы тыкать, к примеру, игровые движки, при условии, что будет выделяться на изучение около часа в день? И что мне понадобиться изучать помимо непосредственно плюсов?
>> No.47151 Ответ
>>47148
Вопрос не имеет смысла.
Будет так, вышла новая версия фреймворка через месяц, ты будешь сидеть и переучиваться. И так всю жизнь, а не один месяц.
>> No.47152 Ответ
>>47150
Лучше садись и тыкай игровые движки, а не задавай глупые вопросы.
>> No.47153 Ответ
>>47151
У них там каждую версию революция и разрушение всего старого в пользу нового? Как-то мало верится.
>> No.47154 Ответ
>>47150
Если час в день, то за пару лет сможешь.
>> No.47155 Ответ
>>47152
Ну, должна же быть какая-то база, как-нибудь более основательно к этому вопросу подойти, или всё хуйня?
>> No.47156 Ответ
>>47155
Чем больше опыта, тем лучше база.
https://www.amazon.com/Primer-Plus-6th-Developers-Library/dp/0321776402
Вот норм книга с упражнениями и ответами.
>> No.47157 Ответ
>>47156
Окей, спасибо.
>> No.47158 Ответ
>>47157
А лучше начать не с с++, а чего-то более высокоуровневого. Освоить python к примеру, это будет в 10 раз быстрее. А потом переходить на с++
>> No.47159 Ответ
Привет, доброаноны. Расскажите, как вы поняли всякие MVC, MVVM, Singleton, Factory и прочее? Учу реакт потихоньку, часто слышу эти слова, но они почти ни о чём не говорят.
На ангуляре, например, чтобы 2 контроллёра могли обмениваться данными друг с другом есть такая штука, как Сервис. По сути - ящик с двумя методами: положи и дай.
Потом подключаем этот сервис к каждому из контроллёров и кладём/берём данные, когда нужно. Это тоже паттерн Service или что-то другое?
Есть ли простые аналогии для паттернов?
>> No.47160 Ответ
>>47159
> > как вы поняли
Они интуитивно понятны
> > MVC, MVVM, Singleton, Factory и прочее
Об этом нужно думать разработчикам фреймворков в основном, а не кодерам
>> No.47161 Ответ
>>47159
Аналогии - говно для ленивых невежд. У паттернов есть обоснования и области применения. Они описаны в книгах о паттернах. И их нужно учить, а не понимать. И не "по сути", а нормально!
>> No.47162 Ответ
>>47159
Чтобы их понять, достаточно просто использовать объектно-ориентированное программирование. Если у тебя будет хотя бы 10-15 классов, которые по-всякому друг с другом взаимодействуют (создают экземпляры один другого, или передают команды от одного другому), ты сам начнешь эти паттерны понемногу изобретать, и останется только заглядывать в интернет чтобы узнать, какой как называется.
Паттерны вообще очень простые и не нужно их переоценивать. Точнее, их вообще нет смысла учить ради них самих. Если у тебя не возникает в них потребности - то не обращай внимания.
Очень плохо выглядит код, в который начали вставлять "паттерны" только потому, что про них вычитали в книге.

>>47161
Паттерны не нужно ни "учить", ни как-то особенно "понимать". Ими нужно пользоваться, если возникает необходимость. Как штангенциркулем. Или шерхебелем. Но применяй шерхебель там, где нужен молоток. Скорее всего, шерхебель тебе вовсе не нужен...
>> No.47163 Ответ
>>47162
> Паттерны не нужно ни "учить", ни как-то особенно "понимать". Ими нужно пользоваться, если возникает необходимость. Как штангенциркулем. Или шерхебелем. Но применяй шерхебель там, где нужен молоток. Скорее всего, шерхебель тебе вовсе не нужен...
Ну я это и имел в виду.
>> No.47164 Ответ
>>47163
Точнее, я ещё всё-таки думаю, что самому их изобрести не всегда так уж просто, особенно если основных принципов и практик архитектуры ты не знаешь.
>> No.47165 Ответ
>>47164
Для паттернов не нужны "принципы" и "практики архитектуры"; паттерны - это просто названия для конкретных сочетаний классов. Будут они у тебя возникать или нет - зависит от количества классов. Нужно ли знать эти названия? - только чтобы общаться с другими программистами.
Если у тебя есть несколько связанных по смыслу классов, и ты хочешь создавать объекты этих классов где-то в одном месте - то это Factory. Если у тебя есть произвольный класс "предмет" и рядом классы "изображение предмета" и "управлялка предметом" - это MVC. Если у тебя есть класс, экземпляр которого можно создать только один - это Singleton. И т.п.
Это упрощение, но не очень сильное.
Интересный довольно паттерн "визитор", но он встречается не очень часто.
>> No.47166 Ответ
>>47165
Боюсь, с такими минимальным изучением и максимальным упрощением любой новичок будет тупо шуровать всё в один класс и наваливать статик-методы по 500 строк каждый. А потом они говорят, что не хотят ничего менять в своей программе, а "давайте лучше всё заново".
>> No.47167 Ответ
>>47166
Не надо ничего переписывать заново, для этого существует паттерн refactor.
>> No.47169 Ответ
>>47158
Может тогда лучше какой-нибудь li/s/p?
>> No.47170 Ответ
Файл: 326.jpg
Jpg, 43.97 KB, 600×440 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
326.jpg
>>47169
У нас для етово есть паттерн CZalupa.
>> No.47171 Ответ
>>47169
Лисп - говно, лучше Хаскель.
>> No.47172 Ответ
В CL всё ещё самая крутая объектная система, гармонично вписанная в функциональную парадигму, даже если не учитывать MOP. А плюсы всё ещё чисто корпоративный язык, популярный только из-за форса и больших зарплат. В этот чудный век технического прогресса механизация интегрируется только там, где нет народа, желающего въёбывать за совсем копейки. Так же и с программированием. Модно, молодёжно, С++. Зачем все эти расты и питоны, когда можно развивать стандарты вполне рабочих языков?
>> No.47173 Ответ
Анон, а ты читал SICP? Актуален ли он сейчас? Надо ли читать новичку?
>> No.47174 Ответ
>>47172
С++ не так уж и моден, тем более по сравнению с питоном.
>> No.47175 Ответ
>>47172
На лиспе не пишут код, это академический язык, не имеющий совершенно никакого практического применения. Объектная модель в лиспе сосёт с проглотом у smalltalk, java, c#, ruby и даже у js.
>> No.47176 Ответ
>>47173
SICP обогнал свое время на 20 лет. Там все эти лямбды и прочее. Вышла эта книга в 85.
Уже все давным-давно забыли о ней. Просто хабрахабровцы в вк погоне за лайками сгребают все помои с обочины интернета, а потом другие начинают это форсить, чтобы показать, что они умнее, чем оппонент.
>> No.47177 Ответ
>>47173
То есть еще раз.
SICP - это рекомендация для создания языков программирования, там даже в упражнениях есть создание интерпритатора. Просто идейная книга, несколько простых но на то время новых концепций, которые спотыкаются об убогий синтаксис лиспа.
Сейчас все, что есть в lisp, есть абсолютно в любом языке, и лучше. Все, что есть в SICP, есть в официальной документации к любому языку. Поэтому lisp не нужен.
>> No.47178 Ответ
>>47176
SICP изначально использовался как учебник для студентов в каком-то сшашном вузе. Но потом пошел в люди.
А в самом вузе его давно заменили на курс по бидону.
>> No.47179 Ответ
>>47175
Lisp - это семейство языков. Кложура - тот же лисп, только на JVM. У лиспа нет объектной модели вообще. Я писал про CLOS и MOP Common Lisp'а, с которыми ты, понятное дело, не работал вообще.
>>47173
Ты начни хотя бы читать. Там сразу станет ясно, нужно оно тебе или нет.
>> No.47180 Ответ
Прочтите хотя бы про принципы DRY и SRP. Если вы начнёте хотя бы использовать тупо эти два самых примитивных принципа, которые можно выразить двумя предложениями, то это уже хорошее подспорье для серьёзной архитектуры программы. Не книга, а, хотя бы, два предложения!
>> No.47181 Ответ
>>47180
Не, кроме SRP еще нужно использовать OCP, LSP, ISP и DIP. А еще нужно помнить что global and static are evil.
>> No.47182 Ответ
>>47181
Да и много ещё есть полезного, но вот это два на уровень чисто "ну хотя бы", супер-минимальный кодера, для самых бомжей, кто на отрез отказывается учить и читать что-то.
>> No.47187 Ответ
>>47173
> Анон, а ты читал SICP? Актуален ли он сейчас? Надо ли читать новичку?
Я читал SICP после того, как лет пять уже занимался программированием. Эта книга изменяет представлеие о мире. Только после этого понимаешь, что такое на самом деле "функция" и что такое "объект" и как все это работает и почему. Взгляд на уже известные языки меняется, и новые после этого учатся на раз-два. Потому что книга объясняет базовые принципы, которые ни в одной книге про конкретные языки программирования не затрагиваются.

>>47177
> это рекомендация для создания языков программирования,
Это попросту неверно, SICP - это фундаментальный учебник для желающих разобраться, как и почему программы вообще работают.

>>47178
> в каком-то сшашном вузе.
В MIT - одном из лучших технологических вузов мира.
>> No.47190 Ответ
>>47187
> В MIT - одном из лучших технологических вузов мира.
Насколько я знаю, сейчас его не преподают?
>> No.47191 Ответ
>>47190
Кого не преподают? Это книга, а не предмет или наука.
>> No.47192 Ответ
>>47190
> Насколько я знаю, сейчас его не преподают?
>>47191
> Это книга, а не предмет или наука.
Это книга - вузовский учебник, то есть, университетский курс. Насколько я знаю, его и сейчас преподают.
Какое-то время назад они то ли поменяли, то ли хотели менять язык программирования, на котором в курсе приводятся примеры и упражнения. У этой идеи есть как положительные, так и отрицательные стороны. Но речь шла именно о "языке программирования, на котором в книге даются примеры", не о чем-то большем.
Например, вводные курсы по Scala от Мартина Одерски используют множество упражнений из SICP.
Книга посвящена не какому-то специфическому языку программирования, а вычислениям и программированию в целом. Тот факт, что заодно знакомишься со Scheme (LISP), идёт как приятный бонус.
>> No.47193 Ответ
Какую математику дают в ВУЗах на околокодинговых специальностях?
>> No.47196 Ответ
Файл: TcUqxrTIIf8.jpg
Jpg, 54.19 KB, 764×1024 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
TcUqxrTIIf8.jpg
>>47193
Нинужную.
>> No.47197 Ответ
>>47193
Везде разную. Определяется левыми пятками чиновников и преподов. Почти всегда устаревшую и неполную. Культ Карго в чистом виде. ну не могут они в умные умности, им подавай продавать.
>> No.47198 Ответ
Файл: 2017-01-31_150803...
Png, 44.85 KB, 646×2791
edit Find source with google Find source with iqdb
2017-01-31_150803.png
Файл: 2017-01-31_152546...
Png, 11.88 KB, 761×501
edit Find source with google Find source with iqdb
2017-01-31_152546.png

>>46762
суп анон, я пытаюсь исследовать виртуальное адресное пространство доступное процессам в шиндовс, Вопрос, вот я получит примерно таблицу регионов с их атрибутами на пике, почему на некоторых регионах в протекте стоят нули (1) и что эти нули значат? вопрос номер два , почему у некотрых регионов AllocateBase стоит на 0x00000000 , хоть они и не первый регион (9), и что означает AllocateBase я так понимаю это регион к которому должны принадлежать страницы региона , но так как регионы полученные не соответсвуюют нулевому региону как соответсвующие страницы могут принадлежать нулевому региону?

PS: регионы я различал по отличию их атрибутов, кусок кода прилагаю на втором пике .
>> No.47199 Ответ
>>47198
Тебе нужно ботать книжки по реверсингу, а не исследовать.
>> No.47200 Ответ
>>47199
а оп делу есть чего ?
>> No.47201 Ответ
>>47193
Обычно такую же как и на мех-матах и фез-техах, т.е. олскульную, академическую, почти не имеющую применения в современности.
>> No.47202 Ответ
>>47193
Вычислительную, дискретную?
>> No.47231 Ответ
Файл: Jython.png
Png, 66.48 KB, 597×255 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Jython.png
Что почитать по программированию в общем? Оно мне надо, если я начинающий быдло^Mдоброкодер? Хочу знать, как все работает, подозреваю, пригодится, ну и вообще интересно.
>> No.47232 Ответ
>>47231
«У меня для тебя плохие новости» (c)

Операционные системы: Эндрю Таненбаум, Ричард Стивенс (есть на русском),
Компиляторы: Terence Parr, Richard Bornat (книги на английском),
СУБД: Алан Бьюли, Мартин Гарднер, Том Кайт есть на русском),
и т.д. и т.п.

По каждой отдельно взятой ОС и по каждому я/п — разные книги.
Часто они противоречат одна другой, т.е. что считается «правильным» в одном я/п того нет в другом.

У меня в коллекции около сотни книг. И каждую полезно было бы прочитать...
>> No.47233 Ответ
>>47232
> было бы
Лол.
>> No.47234 Ответ
>>47231
Этот стиль скобочек просто мандец какой-то.
>> No.47235 Ответ
>>47232
Спасибо, посмотрю.

>>47234
;}

Алсо, интересно, какие методы программирования сейчас используются? На википедии большой список, он весь? Наслышан об ООП, вроде бы что-то сложное, поясните за него в двух, хех, словах. На википедии той же непонятно.
>> No.47236 Ответ
Файл: MacApp2.png
Png, 6.33 KB, 583×367 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
MacApp2.png
>>47235
Википедию пишут википидоры, у них 90% непонятно.
ООП зарождалось как на рисунке, именно эта библиотека называлась MacApp, её почти точная копия — Delphi.
Сейчас эти методы... всё там же, в общем, и используются. Да будет срач, но чем дальше от окошек и формочек, тем пользы от ООП меньше и меньше.
>> No.47246 Ответ
>>47235
Надоело уже на одни и те же вопросы отвечать. Поищи книги по именно по ООП и прочти просто одну-две первых глав, мотивация в самом начале написана. Что сейчас используется можно узнать в вакансиях.
>> No.47251 Ответ
>>47234
А мне вот что мандец:

> > System.out.println(String.valueOf(a))

Что в переводе на Питон print(a).
>> No.47252 Ответ
>>47251
Потому что ты пишешь короткие программы, которым при этом не нужно ручное управление памятью и по факту не нужна скорость. Выбор инструмента не вписывается в задачу.
>> No.47253 Ответ
>>47252
printf(a)
>> No.47256 Ответ
Файл: 11.png
Png, 3.42 KB, 364×146 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
11.png
Что происходит в С, если вызвать fclose(f) без f = fopen("myfile", "r")? То есть, у меня есть функция выхода из программы, которая все освобождает и все закрывает. Но может так получиться, что fopen фейлится, и программу надо бы закрыть. В этом случае VS выдает такую ошибку. Это нормально? Что ему от меня нужно?

Является ли говнокодом char ch[4]; ch[3] = 0; вместо ch[3] = '\0';?if(!tmp) вместо if (tmp != NULL)? Объявлять переменные где попало^W^W перед использованием, а не в одном месте?Инициализировать переменные во время/сразу после объявления без особой необходимости? Типа присваивания 0 какому-нибудь счетчику цикла, так, на всякий случай, или -1 переменной, значение которой предполагается положительным. && и || в if, если можно сделать вложенные if?
>> No.47265 Ответ
>>47256
> Это нормально?
Нет. Инициализируй f в NULL, после естественного закрытия тоже в NULL выставляй, а в функции выхода проверяй, является ли f non-NULL.

> Является ли говнокодом char ch[4]; ch[3] = 0; вместо ch[3] = '\0';
Да.

> if(!tmp) вместо if (tmp != NULL)?
Нет, но эти строки делают противоположные вещи

> Объявлять переменные где попало^W^W перед использованием, а не в одном месте?
Так и надо

> Инициализировать переменные во время/сразу после объявления без особой необходимости? Типа присваивания 0 какому-нибудь счетчику цикла, так, на всякий случай, или -1 переменной, значение которой предполагается положительным.

В контексте предыдущего пункта у тебя не должно быть такой ситуации

> && и || в if, если можно сделать вложенные if?
Если ты пытаешься проверить одновременное выполнение двух условий, то, да, && лучше, чем if (...) { if (...) {}}
>> No.47266 Ответ
>>47256
> если вызвать fclose(f) без f = fopen("myfile", "r")
если ты используешь язык C, попробуй "man fclose" в командной строке линукса или в гугле.
вкратце - по стандарту ничего плохого не произойдет.
то что VS выдает ошибку - ненормально. это следствие того, что microsoft целенаправленно не соблюдает стандарты.
предполагаю, что ты используешь язык C++. в таком случае тебе не нужны функции fopen/fclose, используй файловые потоки из <fstream>.

> Является ли говнокодом char ch[4]; ch[3] = 0; вместо ch[3] = '\0';?
в языке C - нет, в языке C++ - да

> if(!tmp) вместо if (tmp != NULL)?
нет, не является

> Объявлять переменные где попало^W^W перед использованием, а не в одном месте?
нет

> Инициализировать переменные во время/сразу после объявления без особой необходимости?
нет

> Типа присваивания -1 переменной, значение которой предполагается положительным
да, является; используй беззнаковый тип, вроде unsigned int или size_t

> && и || в if, если можно сделать вложенные if?
нет, наоборот, вложенных if следует избегать
>> No.47267 Ответ
>>47266
Ясно.

> > Является ли говнокодом char ch[4]; ch[3] = 0; вместо ch[3] = '\0';?
> в языке C - нет, в языке C++ - да
У этого различия есть какие-то основания, кроме сложившейся традиции? Я на С пишу, что там в С++ происходит — не знаю.
>> No.47268 Ответ
>>47267
> У этого различия есть какие-то основания, кроме сложившейся традиции?
основания представляют чисто академический интерес (0 имеет тип int, '\0' имеет тип int в C, тип char в C++).
практической роли не играет.
>> No.47269 Ответ
>>47265
Понятно.
>> No.47270 Ответ
>>47256
В VS нет Си, только С++.
>> No.47271 Ответ
>>47270
Вообще-то есть, только очень древнего стандарта
>> No.47319 Ответ
Как на С лучше писать: "string[i+1] = '\0'; i++" или "string[++i] = '\0';"? Второй вариант лаконичнее и оптимальнее, но в нем легко допустить ошибку, и выглядит он чуть менее читаемым.

Почему тут спрашиваю только я? Неужели у других нет глупых вопросов?
>> No.47320 Ответ
>>47319
> лучше
Если стандарту похуй, объективного "лучше" нет. Если ты работаешь в команде, стиль кода оговаривается заранее. Если один, пиши так, как тебе понятнее.
У меня есть только неглупые.
>> No.47321 Ответ
Файл: Ada_Lovelace_portrait.jpg
Jpg, 2238.31 KB, 2439×3504 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Ada_Lovelace_portrait.jpg
>>47319
> Неужели у других нет глупых вопросов?
Почему никто ещё не поздравил Августу Аду Кинг (урождённую Байрон), графиню Лавлейс, первого программиста в истории, с 8 марта?
>> No.47324 Ответ
>>47321
Разве сам создатель машины не программировал?
>> No.47326 Ответ
>>47324
Запутанная история. Почитал Википедию и ГикБрейнс – так и не понял до конца, нужно больше почитать на эту тему.
>> No.47329 Ответ
Зачем кастовать маллок к указателю на структуру, если всё равно идёт присваивание адреса?
Например
pstruct->pptr = (struct блабла )malloc(sizeof(struct блабла) блабла);
>> No.47330 Ответ
>>47329
Присвоение указателю адреса память не выделяет, просто указатель будет хранить адрес который ты ему даёшь. Если ты хочешь, чтобы у указателя был адрес, по которому выделена память, выделяешь память. Всё очевидно, по-моему.
>> No.47331 Ответ
>>47329
Возможно на разных архитектурах поинтеры указывают на первый или последний байт, поэтому каст будет менять значение поинтера, хз кароч.
>> No.47332 Ответ
Файл: 1.png
Png, 17.69 KB, 681×114 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
1.png
Не знаю, где спрашивать: тут или в /lor/. В общем, оставил себе IDE Codelite, и в нем при компиляции появляется такая вот ошибка. То есть, компилирую я из него, а не из консоли, стандартные аргументы запуска не трогал. Погуглив, я понял только то, что у каждого эта ошибка появляется из-за своей особой причины, и то что проблема в линкере. Я не понимат, помогайте.
>> No.47334 Ответ
>>47332
1. Не путаешь ли ты где-нибудь языки C и C++? Компилятор у тебя g++ (т.е. для C++), а файл main.c должен быть на языке C. Проверь все настройки, что везде указан один и тот же язык.
2. С объявлением функции main() все в порядке?
>> No.47335 Ответ
>>47332
На ideone залей чтоли код например.
>> No.47336 Ответ
>>47334
>>47335
Та же среда под шиндой этот же проект компилирует без ошибок/предупреждений, и он работает.

> 1
Действительно, хотя, вроде бы везде указывал gcc. Так или иначе, после смены компилятора проекта туда-обратно, ошибка пропала. Спасибо.

Но появилась другая уже, видимо, чисто системопроблема. Если запускать программу из среды (build and run), то окно терминала не появляется. Так и должно быть? Просто в шинде, в той же среде cmd открывается автоматически. В любом случае, в настройках есть параметр про использование встроенного терминала, так вот если его активировать, то терминал появляется, и сообщает "/bin/sh: 1: ./B5133: Permission denied". Я так понимаю, проблема в правах. Я прописывал sudo chmod -R +x в папку с проектом (точнее, с воркспейсом, в котором лежит проект), и 777 тоже пробовал, но ничего не изменилось. Чяднт? Программа консольная, на вход получает два файла в виде аргументов командной строки и читает их (только чтение), потом внутри себя производит некоторые манипуляции, выводит пару строк в консоль и завершается, вроде бы ничего криминального.

Алсо, вопросы по программированию. В С и С++ объявления "тип *argv", "тип argv[]" и тип argv[][]" абсолютно идентичны, да?
Чем отличается unsigned от size_t?
>> No.47337 Ответ
>>47336
На винде ты наверно цомпилируешь чем-то отличным от gcc. С какими опциями смонтирована файловая система, где лежит проект?
>> No.47338 Ответ
>>47337
Спасибо, смонтировал с defaults, все заработало.
>> No.47339 Ответ
Файл: 8415433-smart-cat-working-at-the-computer1.jpg
Jpg, 77.83 KB, 1200×798 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
8415433-smart-cat-working-at-the-computer1.jpg
Есть ли какой-нибудь второй язык программирования после питона, для, например, скриптов или веб-серверов?
Или оставшиеся альтернативы действительно умирающие, потому что все остальные перешли на питон?
>> No.47341 Ответ
>>46762
>>b/4788813
У меня тупой вопрос по околошкольному программированию на pascal.abc.net
Если я создаю тип переменной 1..n1 (n1 константа) то могу ли я его сравнивать с переменными типа integer ?
Вообще могу, но я всё никак не пойму правильно ли это делать.
>> No.47343 Ответ
Насколько сложно запилить игру, с графикой как в Дварф Фортресс, то есть из символов. Так вот, чтобы она работала в терминале. Если что, не знаю, как ДФ работает на линуксах, и работает ли вообще. Знаю, там можно накатить раскрашивание терминала, тогда других ограничений я не вижу. Ну, на винде такое не прокатит, в связи с этим еще вопрос. Насколько сложно запилить эмуляцию нужных для игоры свойств терминала в винде?
>> No.47344 Ответ
>>47339
Perl, lua, ruby, php, javascript, bash.
>> No.47345 Ответ
Файл: characterkids.png
Png, 5.75 KB, 512×384 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
characterkids.png
>>47343
Никогда таким не занимался, но могу предположить что вот с цветастым терминалом проблем должно быть меньше всего. А если писать на каком-нибудь питоне, то эта штука возможно у тебя получится сразу кросплатформенной без дополнительных мучений.

Но вообще я хотел тебе просто вот эту ссылку дать http://www.roguebasin.com/index.php?title=Articles - это вики посвящённая разработке рогаликов, возможно там есть ответы на твои вопросы (и не только про цветастый терминал).

К примеру вот туториал на питоне http://www.roguebasin.com/index.php?title=Complete_Roguelike_Tutorial,_using_python%2Blibtcod - первая глава там как раз посвящена "графике". Я её по диагонали пролистал и вроде как оно под win/linux/mac подходит.
>> No.47346 Ответ
>>47345
Спасибо.
>> No.47350 Ответ
>>47343
Линупсячие эмуляторы терминалов - это зло. "Текстовый графон" в DF, C:DDA и прочих пилят на том же SDL и правильно делают. С терминалами имеет смысл связываться, если ты хочешь, чтобы твою игру можно было через SSH с кофеварки играть. Как это с Nethack (NAO): достаточно любой минимальной UNIX-like ОС с SSH-клиентом, чтобы залогиниться на сервер и начать играть. Но вообще виртуальные терминалы костыльны максимально, они больше ебли дают, чем универсальности интерфейса. А с запилом ядерного DRM/KMS - и подавно.
>> No.47353 Ответ
>>47350
Да, идея именно в запуске без графической оболочки. Про SSH не подумал, действительно хорошая идея.

> Nethack
Интересно, надо будет посмотреть.
>> No.47354 Ответ
>> No.47355 Ответ
>>47344
> Perl
А он жив?
> lua
Разве это не встраиваемый язык для программировантя WoW?
> bash
Какие есть программы для отсылания POST?
>> No.47356 Ответ
>>47355
1. Уже не столь популярен.
2. Не только.
3. http://curl.haxx.se
>> No.47357 Ответ
>>47356
А Ruby?
Говорят, что Руби только из-за Рельсов был популярен, а сейчас и Рельсов нет.
>> No.47358 Ответ
>>47357
Всё так. Перл полезен как язык общего назначения для всяких автоматизаций и администраций, и вообще, это часть юниксов. А руби без рельс не пришей пизде рукав. Хотя остались утята, которые там что-то мутят.
>> No.47359 Ответ
>>47358
Ну например из комманд лайн проектов можно вспомнить vagrant и brew. Вообще у руби богоподобно няшный синтаксис, но самый большой минус - низкая производительность, даже если альтернативными вм типа rubinius обмазаться.
>> No.47360 Ответ
>>47358
Что мешает поставить Руби так же как и Перл и использовать? Только без эмоций, по аргументам. И что значит "часть юниксов"? Ты же точно так же устанавливаешь пакеты, чтобы им пользоваться. Почему они утята и что они не так мутят? Чего не хватает на Руби, что есть на Перле? И что не так с Рельсами? То, что про них не орут на каждом углу, не значит, что "Рельсов нет".
>> No.47361 Ответ
>>47360
> Что мешает поставить Руби так же как и Перл и использовать? Только без эмоций, по аргументам. И что значит "часть юниксов"? Ты же точно так же устанавливаешь пакеты, чтобы им пользоваться.
В том-то и дело, что в любом дистрибутиве линупсов-юниксов есть искаробочный перл, потому что некоторые части сделаны на нем и зависят от него. Потому и часть юниксов. Даже гит завязан на перл. И зачем тогда специально ставить руби?
> Почему они утята и что они не так мутят?
Потому что пришли во время хайпа на рельсы (который начался раньше доминирования питона) и остались.
> И что не так с Рельсами? То, что про них не орут на каждом углу, не значит, что "Рельсов нет".
Рельсы начали всё это движение с веб-фреймворками и со временем это пизданули в все популярные языки, а само рельсокоммюнити сдулось. А потом последний гвоздь в крышку гроба рельс вбила нода, которая выпнула рельсы и заняла их нишу хипсторско-передовой технологии.
>> No.47362 Ответ
Увлекался программированием, изучал алгоритмы, учил матан. Зашел в ваш сосачевский мывамперезвоним-тред - сразу отвращение к будущей профессии появилось. Как теперь с депрессией бороться? Неужели все действительно так плохо? Галеры, нет времени после работы и все такое.
>> No.47363 Ответ
>>47362
А ты не делай программирование своей будущей профессией.
Или сосач не читай.
>> No.47364 Ответ
>>47362
Это сосач. Он всегда портит настроение. Он просто всегда так делает. А знаешь что ещё важно? Эти люди, которые портят настроение в интернете, с высокой вероятностью делают и в жизни то же самое. А теперь представь, что ты, например, девушка, и он тебе портит настроение. Теперь ты понимаешь, почему у битардов проблемы?
>> No.47365 Ответ
>>47364
Хуя ты копнул.
>> No.47366 Ответ
Файл: 4fc8i35.jpg
Jpg, 79.67 KB, 480×470 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
4fc8i35.jpg
>>47362
> Неужели все действительно так плохо?
Да. Но если ты действительно увлёкся и тебе прям по душе то будет пикрелейтед.
>> No.47367 Ответ
>>47366
Ты кидаешься в крайности.
>> No.47368 Ответ
>>47367
Нет, картинка очень в тему. При чём не только в плане погромизма.
>> No.47369 Ответ
>>47366
> > я веселый паренёк
В смысле педик?
>> No.47382 Ответ
Как перезаписать переменную из под скрипта веб-страницы? С учётом того что сделать это нужно сразу после её определения в скрипте, принадлежащем странице. Так как она там же за считанные секунды будет утилизироваться.
Т.е. без всяких onload и event listener-ов.
>> No.47383 Ответ
>>47364
Так ведь битард и есть девушка.
>> No.47384 Ответ
>>47383
Я про людей, которые пишут в этом треде. Почему-то в нашей компании программиста очень трудно найти, даже с низким уровнем навыков, а вот в глазах тех, кто никогда не искал программиста, их всегда "как собак нерезаных". Вот я вообще не знаю, как это работает. Всех всегда "как собак нерезаных", пока ты их не ищешь, а потом они раз - и куда-то пропали.
>> No.47385 Ответ
>>47384
Потому что в глазах любых эйчаров ты всегда говно, если не набиваешь себе цену и не живешь на позитиве. Тут царит особый, никем не понятый цинизм.
Это отношение точно никуда не денется даже с реальным недостатком программеров. Компания ощущает на себе недостаток квалифицированных кадров, кадры ощущают роботизированную мясорубку. "Каждому - своё", гласит надпись на концлагерных воротах.
>> No.47386 Ответ
>>47385
Эйчары вообще очень интересные бывают иногда. И они, между прочим, очень сильно портят репутацию психологии как дисциплины и, с вашего позволения, науки.
>> No.47387 Ответ
>>47386
Алсо, ещё хотел сказать, что чаще всего о том, что кодеров много, слышишь в баре с кружкой пива, когда говоришь, что ты кодер, своим друзяшкам. И они такие презрительно:"Вот, вас так много развелось". Кодеров тем больше, чем ты дальше от кодинга.
>> No.47388 Ответ
>>47383
А это вообще финиш, дальше падать девушке некуда. Даже бытиё спитой сорокалетней дешевой шлюхой не так позорно. Никогда не женюсь на бабе, сидящей на бордах.
>> No.47390 Ответ
Похоже, классическим примером применения стека является проверка правильности расстановки скобок в некотором выражении. Чем в этом случае стек лучше функции, где вместо переменной и массива объявлена только переменная int, функция идет по строке и увеличивает этот int, если скобка открывается, и уменьшает, если закрывается, проверяя неотрицательность переменной, а когда строка кончилась, проверяет, равна ли переменная нулю? Кажется, я раньше в какой-то момент понял, но теперь забыл, что понял, и теперь думаю, что стек только хуже тем, что наличие >N подряд открывающихся скобок создает проблемы.
>> No.47391 Ответ
>> No.47392 Ответ
>>47391
Не, это понятно, ну а с одинаковыми скобками?
>> No.47393 Ответ
>>47392
С одинаковыми будет и так как ты описал работать.
>> No.47398 Ответ
Файл: Clipboard01.png
Png, 3.03 KB, 622×175 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Clipboard01.png
>>47390
У каждой открывающей скобки должна быть закрывающая того же вида, однако автомат помнит лишь своё предыдущее состояние, поэтому, достигнув восьмой скобки, он забывает, в какое состояние ему возвращаться. Стэком расширяют автомату память.
>> No.47399 Ответ
>>47398
Откуда эта пикча?
>> No.47400 Ответ
Файл: Clippy.png
Png, 123.77 KB, 362×335 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Clippy.png
>>47399
Ты не поверишь.
>> No.47401 Ответ
Файл: Clipboard02.png
Png, 95.19 KB, 434×241 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Clipboard02.png
>> No.47403 Ответ
>>47401
Я и говорю.
>> No.47404 Ответ
Имеет ли смысл в Си/с++ использовать для счетчика цикла, который не превосходит определенного небольшого значения тип unsigned short или даже unsigned char? Подозреваю, последний случай считается плохим стилем и без особой нужды так лучше не делать.
>> No.47405 Ответ
>>47404
Не вижу смысла. 32/64-битной машине 8/16-битные значения погоды не делают, т.к. обрабатываются они так же, как и 32/64-битные.
>> No.47409 Ответ
Оперативную память загружают только переменные и константы, а процессор нагружают операции?

>>47405
Ясно.
>> No.47412 Ответ
>>47409
Эти вопросы очень тяжело предсказать. Ты уходишь в очень тонкие дебри. Чтобы на них ответить, нужно разбирать конкретную машину, конкретную ОС и конкретный компилятор. В целом скорее да, почти. Но это очень приблизительно.
>> No.47414 Ответ
>>47341
В Паскале разве есть производные типы и их иерархии? То, о чем ты говоришь, — подтип, та же самая сущность, что и оригинальный тип, но с другим именем и опционально имеющая ограничения по диапазону.
>>47404
Ну, компилятор под эту переменную может поюзать низкоразрядный регистр. А может и не поюзать. Смотри документацию на компилятор.
>>47409
Память загружают данные, процессор — инструкции MOV с этими данными. Остальное можно считать статистически незначимым. :o)
>> No.47418 Ответ
>>47409
Переменные и константы - это термины уровня ЯП, а вопрос, если я правильно понимаю, о технической организации хранения данных и вычилительного процесса. В ЦП есть своя память, даже несколько уровней, один оперативнее другого. Регистры - это тоже ячейки памяти. Короче, Таненбаума почитай, например.
>> No.47419 Ответ
Допустим, мне нужно считать из файла данные, а если файл не открылся, получить их из stdin. Насколько удачной идеей будет сообщить, что файл не найден, предложить ввести данные, а затем указателю на файл присвоить stdin и считывать? Это экономит несколько строк кода, но я не уверен, будет ли это правильно работать.

>>47414
>>47418
Спасибо.
> :o)
Это смайлик со вторым подбородком?
>> No.47421 Ответ
>>47419
Чтобы читать stdin, вместо имени файла надо задавать "-".
>> No.47422 Ответ
Файл: Мистер_Бин.png
Png, 328.48 KB, 465×524 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Мистер_Бин.png
>>47419
На клиентской стороне не должно быть разницы, откуда читать. У меня и то, и другое имеют тип FileType и можно сделать просто SetInput (StandartInput); loop GetImmediate (Symbol); case Symbol is ... end case; end loop; Учитывая, что модуль Text_IO наполовину состоит из импортированных сишных подпрограмм, то же должно быть верным и для тебя.
<-
>> No.47423 Ответ
Файл: 853759-cirno.jpg
Jpg, 14.74 KB, 320×320 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
853759-cirno.jpg
>>47421
>>47422
Ничего не понял. У меня такая задача: считать и разобрать данные, а потом произвести над ними некоторые манипуляции. А считываются они по дефолту из файла, а если такового нет, то юзверю предлагается ввести их вручную. Вопрос в том, нормально ли написать FILE *F; ... F = stdin; (ну или F = fopen("-", "r")), или лучше отдельно расписать случай считывания, без использования F вообще, строго через stdin и использующие его функции?


Пароль:

[ /b/ /u/ /rf/ /dt/ /vg/ /r/ /cr/ /lor/ /mu/ /oe/ /s/ /w/ /hr/ ] [ /a/ /ma/ /sw/ /hau/ /azu/ ] [ /tv/ /cp/ /gf/ /bo/ /di/ /vn/ /ve/ /wh/ /fur/ /to/ /bg/ /wn/ /slow/ /mad/ ] [ /d/ /news/ ] [ Главная | Настройки | Закладки | Плеер ]