[d | an-b-bro-fr-gf-hr-l-m-maid-med-mi-mu-ne-o-old_o-p-ph-r-s-sci-sp-t-tran-tv-w-x | bg-vg | au-mo-tr | a-aa-abe-azu-c-dn-fi-hau-jp-ls-ma-me-rm-sos-tan-to-vn | misc-tenma-vndev | dev-stat]
[Burichan] [Futaba] [Gurochan] [Tomorrow] [Архив-Каталог-RSS] [Главная]

Файл: 1413777090510.png -(1054 KB, 1920x1080, 1413777090510.png)
1054 No.204619  

C++ или Python?
Для себя как хобби
Перфекционист

>> No.204620  

>>204619
Для чего? Задачи какие?
Python и C++ настолько разные, что без задач выбор бессмыслен.

>> No.204621  
>Для себя как хобби
>Перфекционист
>C++ или Python?
>Перфекционист

Оба кал. Пиши на си, отключив препроцессор (единственное уродливое место этого в прочих отношениях прелестного языка).

>> No.204624  

>>204619
Разъясните мне содержание картинки. Пожалуйста. По PHP понятно что это стёб, но я его не понимаю. Там наверное весь смысл в деталях, которые являются тонкими отсылкам и к локальным мемам программистов или не особо широко известным особенностям языков?

>> No.204625  

Можешь взять Ruby, он как раз для отдыха и хобби. Простой, понятный, красивый язык. Как подрастешь, можно взяться за Scala.

>> No.204626  

Python.

>> No.204627  
Файл: .jpg -(67 KB, 700x700, .jpg)
67

>>204619

> Для себя как хобби

Питон.

> Перфекционист

Пикрелейтед, классика.

>>204624
В двух словах не уместишь, там по мелочи у разных девочек разное накидано, вплоть до полного отсутствия зацепок.

>> No.204628  
Файл: 7c40e7e44fdd1064d35d2eb7f1d8c7fe1e4ffb19(...).png -(87 KB, 600x600, 7c40e7e44fdd1064d35d2eb7f1d8c7fe1e4ffb19(...).png)
87

— Идеальные ЯП существуют только в сферическом вакууме теории, головах старых мудаков, которые эту теорию преподают, и инвенторов новых ЯП.
— Из всех (известных (мне)) языков выжили только C, C++ и Java. Если тебе для всего и ничего конкретно, бери Яву, не ошибёшься.

>> No.204633  

Почему С и С++ считают разными языками? Разве С++ это не улучшенный С?

>> No.204634  

>>204633
Нет. C — это процедурный язык, а C++ — это объектно-ориентированный язык.
Они хоть и являются родственными, но они невероятно разные при написании программ на них.

>> No.204636  

>>204619

>Перфекционист

Смотря что ты под этим подразумеваешь. Может быть тебе асамблер нужен.
Вот например скажи, тебе больше по душе строгие правила и ритуалы языка (когда каждую операцию нужно расписывать чёткой неизменной последовательностью определённых команд), или гибкость синтаксиса (когда одни и те же задачи можно решать по разному, команды вводить на выбор, а многие подразумевающиеся операции пропускать)? При этом гибкость и лаконичность синтаксиса не одно и то же. У некоторых языков синтаксис лаконичен сам по себе, у других разрешает как длинющую писанину, так и короткие сочетания символов. Опять же, перфекционизм =\= дотошность. И непонятно нравится ли тебе красивый код, расписывать каждое действие, точно расписывать родословную каждого элемента и операции как в JS, или вся эта по сути шелуха тебе не важна. А важно то что происходит под капотом во время обработки каждой инициализированной тобою операции. Всё субъективно. У каждого языка своя философия о методах контроля. Поэтому важно понять какая философия у тебя. Чего ты хочешь. Это как выбор персонажа в MMORPG. Бесконечный контроль будет у тебя лишь на асамблере. А так же ноль удобства и минимум производительности твоего труда. При этом качество кода плохого программиста будет хуже чем у компилятора какого-нибудь языка для школьников. От этого все современные языки так или иначе и родились - отнять у программиста фундаментальные инструменты заменив их на команды-макросы. И наоборот. Есть языки заточенные на производительность больших команд макак, есть языки дотошные до наследственности элементов или синтаксиса, есть стремящиеся максимально всё автоматизировать за программиста, давая ему тем самым свободу. Которую часть программистов так ненавидит. Потому что свобода от жёстких рамок == незамеченные ошибки. В общем, расскажи нам про свои предпочтения. Чего ты хочешь?

>> No.204642  

>>204624
как я это вижу
жава - марка кофе
c++ - думает что хороша для любого дела
питон - просто змея
руби - хипстерский питон для полупокеров в полукедах
пхп - кривой, все ломается
c# - куча талмудов от МС Пресс
shell - мелочь пузатая, не язык
js - его все ненавидят
перл - олдскульные пхакеры хуярят на перл
с - королева красоты среди языков
вб - недоязык, золушка среди языков
R - используется для матана и статистики

>> No.204643  

>>204642
Меня больше забавляет вес php с картинки.

>> No.204654  

>>204624
>>204642
Добавлю от себя
Джава - просто игра от логотипа, как и с питоном и руби кроме названия. И с визуал бейсиком, который кроме этого игрушечный язык для игрушечных целей.
shell - маленькая для простых маленьких задач, но волшебная фея. Вспоминается тот диснеевский мультфильм, где гномы ночью наделали бедному старику сапожнику великолепной обуви.

C++ - не думает, а именно хороша во всём/имеет кучу хобби - универсальность.
C# - повязанность на здоровенных библиотеках (дот нет же). Но странно что у Джавы ничего такого нет.
C - Как и C++ - по сравнению с остальными взрослая, но не постаревшая, состоявшаяся женщина.

Перл - вот тут ка-то странно. С одной стороны немного вот этого

> олдскульные пхакеры

есть (где-то удачное сравнение видел перлокодеры - чернокнижники), с другой стороны под такой рисунок в куче железяк куда лучше бы подошла как раз Сишка ака "высокоуровневый ассемблер", и олдскульность и хакрство у неё левлом повыше.
Про Экшн скрипт вообще ничего не понятно, абсолютно рандомная девочка даже в сравнении с ЖС.

>> No.204657  

>>204654
Ну она по сути и есть почти что копия JS. Потому и внешне похожа. Может куртка с рюкзаком и взгляд, должны нам намекать на то что её прогоняют?

>> No.204663  

>>204619
Дзява или сярп.

>> No.204664  
Файл: 2018-07-01-966605.png -(42 KB, 500x500, 2018-07-01-966605.png)
42

>>204654
Не совсем так.

Java — хавает память-печеньки, которые ей подтаскивает GC. Из-за него она совершенно не заботится об их наличии (и о собственном весе). С её библиотеками ни у кого проблем обычно не возникает, в отличии от .NET.

C++ — всё, о чём она мечтает-думает, это довольно сложные ритуалы, где надо знать наизусть каждое действие, а ошибка фатальна.

Python — «Я думал, что ты мудрец, а ты просто эстет.» http://samlib.ru/editors/b/bogoslowskij_aleksej_wasilxewich/krishnavishlarama.shtml

Perl — военные связисты обычно очень хорошо знают работу своих радиостанций и могут починить/доработать их в полевых условиях. Смысл их действий, однако, для всех остальных обычно остаётся непонятным.

PHP — был специально спроектирован для того, чтобы при любой, даже самой фатальной, ошибке вернуть хоть что-то, лол. Спроектирован, однако, довольно бестолково.

>> No.204672  

>>204663
Галстук не жмёт?

>> No.204673  

>>204672
Лучше галстук, чем access violation.

>> No.204674  
Файл: 482236.png -(362 KB, 690x750, 482236.png)
362

>>204673

>чем access violation

Не, чем некромантия. Это когда имеется dangling reference на незатёртый участок памяти где лежит трупик объекта. Программа в общем работает, но крашится на ровном месте в случайное время в случайном месте кода. На mission profile тестах может проявится как через пару секунд, так и через пару часов. Happy debugging, nigga.

>> No.204675  

>>204674
При таких сложностях с запоминанием где, что и, самое главное, чьё лежит, лучше вообще не трогать тему программирования.

>> No.204689  
Файл: Alice.Margatroid.full.979569.png -(244 KB, 1000x1259, Alice.Margatroid.full.979569.png)
244

>>204675
Ой!.. Зарекаться, что ты никогда не забудешь обнулить долбаный указатель, люди перестают после первой ночи отладки. Так что у тебя всё ещё впереди, парень, какие твои годы!

>> No.204691  

>>204664

> PHP — был специально спроектирован для того, чтобы при любой, даже самой фатальной, ошибке вернуть хоть что-то, лол.

Хаха. При сегфолте он ничего не возвращает.

>> No.204692  

>>204619
Бери C# - низкий порог вхождения и битье по рукам за попытки делать опасные хаки, прямо как в паскале, самое то если совсем не знаком с программированием, возможность довольно легко накидать gui под что-то простенькое как в дельфи, и огромная библиотека из коробки visual studio, так что нужные функции в в контекстных менюшках разыскать проще чем даже нагуглить, лет 10 назад был даже мем о программировании мышкой. Для написания каких-нибудь вайпалок, грабберов, калькуляторов и подобного самое то, и при этом если вдруг захочется прокачаться, то и в индустрии язык востребован. Так же C# примерно посередине между крайностью скриптовых языков с кучами абстракций предметной области и взаимодействий с другими программными компонентами в которых надо разбираться, и крайностью С с простым синтаксисом, но ещё более крупной кучей абстракций работы оси, железа, процесса самой компиляциии сборки и систем для их автоматизации, за которыми меркнут даже вышеописанные проблемы ручной работы с памятью. На шарпе можно просто кодить в свое удовольствие и просто получать результат.
Джаву не бери - слишком много начальных телодвижений даже для простейших задач, она для основательных задач и в ней нет нормальных средств для создания gui.
Плюсы не бери, если только нет задачи ковырять что-то готовое на них - сложно и вредно вне продакшена. По факту это не язык, а из которого договариваются выбирать определенный стиль и подмножество, и нет никаких вменяемых по меркам выделяемого в рамках хобби времени задач где он был бы оправдан.
Питон страдает тем же разнообразием что и джава, хоть и в куда более лёгкой форме, если задача простая, не требует готовых хитрых библиотек или вообще одноразовая, часто выходит проще написать на баше, этим даже в Гугле не гнушаются.

мимокернелист

>> No.204694  
Файл: 1.gif -(141 KB, 500x273, 1.gif)
141

>>204619

>C++ или Python?

Сорта того самого.

>Перфекционист

Scheme, Forth, Joy

>> No.204695  

>>204692

>если задача простая, не требует готовых хитрых библиотек или вообще одноразовая, часто выходит проще написать на баше

Только если задача связана с обработкой текста, процессингом файлов и чем-то подобным. Ты не напишешь прототип UDP-сервера на шелле, который будет парсить какие-то бинарные дейтаграммы и что-то там на них отвечать. Для одноразового throwaway-кода Perl до сих пор является практически идеальным языком быстрого прототипирования, что и отражено в ОП-пике. Достаточно гибким, чтобы решать множество прикладных задач, от работы с текстом до работы с железками. При этом достаточно интегрированным в систему, чтобы человек, уже знакомый с шеллом, мог пересесть на него буквально за пару дней.

>> No.204696  

>>204695
Насчёт перла ничего не могу сказать, единственный живой код на нем в моем окружении - это чекеры кодстайла. Остальные скрипты все на баше и питоне, еще начиная с 8го андроида часть кода билд-системы с питона была переведена на go, будь он неладен.

>> No.204698  

>>204696
Если интересно - очень рекомендую поковырять на досуге. Сразу почувствуешь себя дома, особенно если уже знаешь C и Shell. Незаслуженно забытый язык.

>питоне

А вот этот я до сих пор не представляю, как и почему взлетел. Какой-то современный Cobol, если честно.

>> No.204699  

>>204698

> современный Cobol

Скорее современный BASIC.
>>204674
Обычно достаточно вооружиться санитайзерами, valgrind и отладочными аллокаторами, чтобы баг проявился быстрее.

>> No.204701  

>>204692

> вредно вне продакшена

Забавно это ровно то что я хотел написать в ответ на твой пост с первой же строчки.

  1. Сярп учит плохому. Тут и упомянутое программирование мышкой, и объектно-ориентированная модель прибитая гвоздями, в которую ещё саму нужно воткнуть, не говоря о начале с более базовых вещей, и привыкание к библиотекам на каждый базовый чих, без малейшего понимания их работы. Не, я конечно не знаю что подразумевает под хобби ОП, но вангую раз у него в принципе возникают такие вопросы, яп для него дивный новый мир, и любое хобби будет тесно связано с обучением.
  2. Сярп, точней дотнет к которому он прибит гвоздями, проприетарен. С ним действительно всё очень легко и просто пока ты в очень узкой одобренной большим братом на данный момент ограниченно бесплатной среде, но шаг за её пределы и применить его для любых своих задач становится как минимум проблематично, и на выходе остаются лишь навыки, и потраченное на них время, что исходя из первого пункта не лучшее вложение.
  3. В конце концов, Сярп жырный. И программы у него выходят такие же. За обширные библиотеки которые всё делают за тебя, всегда приходится расплачиваться, но случай сярпа усугублён их прибитостью гвоздями. Байтоёбство, конечно, отдельная дисциплина, но какой-нибудь таймер/будильник, текстовый квест на джва ивента, сортировшик файлов, или парсер субтитров, или что там ещё наилучше попадает в категорию "для себя", не должны весить 200МБ и жрать столько же оперативы, и нет, "> нынешний год" не является аргументом в любом году.
>> No.204704  
Файл: Alice.Margatroid.full.833837.jpg -(507 KB, 1319x1500, Alice.Margatroid.full.833837.jpg)
507
>Cobol

Чем вам не нравится COBOL? Вы на нём, вероятно, даже ничего не писали.

>>204695
Да-да, слышали, знаем. Только вот на многие модули авторы стали забивать последнее время, в итоге они лежат сломаные.

>>204699
Отладочным free (), ты хотел сказать, который будет затирать освобождаемые участки. Это не memleak же, количество аллокаций равно количеству деаллокаций. Даже в Яве эта проблема есть. Чтобы от неё избавиться, надо в каждый объект вводить счётчик ссылок, чтобы попытка грохнуть объект, имеющий более одной ссылки, приводила к фатальному исключению вроде Program_Error.

>> No.204707  

>>204689

> Зарекаться, что ты никогда не забудешь обнулить долбаный указатель

Разве что только в глубокой старости по причине старческого маразма.

>> No.204708  

>>204692

> попытки делать опасные хаки, прямо как в паскале

Паскаль вполне себе позволяет опасные хаки над указателями, переменными по абсолютным адресам и прочие нестандартные применения указателей на функции. Никто не запрещает, кроме ОС, писать в любое место памяти процесса.

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

Зато у плюсов самый большой выбор библиотек, плюс все Сшные либы. Из guiни можно посмотреть на Qt. Можно просто складывать кубики из шаблонов и прочих контейнеров и получить быстродействие в разы выше аналогичных кубиков из шарпа.

>> No.204709  

>>204704
Да-да, специально для товарищей с лишними и недостающими free и delete придумали умные указатели со счетчиками и блокировками.
Правда их приходится частенько расширять, после сеанса релаксации в valgrind, при каком-нибудь нестандартном удалении возвращённого из библиотеки объекта в другом потоке. Вывод? Читать документацию и тренировать память. Это полезно при использовании любого языка.

>> No.204712  
Файл: b694d936c572729ebe3732a2bf4994e5a022e14f(...).png -(2974 KB, 1374x1410, b694d936c572729ebe3732a2bf4994e5a022e14f(...).png)
2974

>>204707
>>204709
Да-да, а ещё реальный мир решает задачи уровня laba10.cpp, код которой очередной студент может написать и отладить в одиночку, и платит таким студентам 300 кк/с. «Сказки нашего универа 2018-2019».

>>204708

>Паскаль

Ну, седые люди помнят паскаль, который имел and и or вместо операторов умножения и деления. Вполне возможно, что он про него говорит. На паскаль же стандарта нет, там каждый с ума по своему сходит.

>самый большой выбор библиотек
>Qt
>10-и гиговый фреймворк на JS

Слушай, это даже не смешно уже. У меня Идея на мобильном Нортвуде тормозит меньше, чем хеллоу ворлд на этом КуТе, при том, что Идея делает дофига всего, а хеллоу ворлд — ничего.

>> No.204713  

>>204698
Без живой задачи не интересно, я не особо люблю кодить вне работы, а что приходится, на микроконтроллерах решается на С и в линуксе на баше.
Разве что иногда подмывает запилить что-то для поиска дублей аудиофайлов, но вряд ли это задача под перл.

>А вот этот я до сих пор не представляю, как и почему взлетел.

Скорее всего, дело в относительно строгом синтаксисе и принудительном форматировании, так что на нём проект не так быстро расползается до нечитабельного состояния. Ну и он относительно старый.

>> No.204714  

>>204701
Я отталкивался напрямую от запроса: хобби, перфекционизм.

>1. Тут и упомянутое программирование мышкой,

Чтобы использовать что-то нестандартное, надо о нем сперва каким-то образом узнать. И мне кажется, узнавание в ходе программирования мышкой все же лучше чем ничего, потому что некому за руку привести к правильным библиотекам на другим языкам и разжевать как этим всем пользоваться.
Писать в виме на С, писать мейкфайлы, возможно скрипт для линкера, свой configure или совладевать с autotools, а потом отлаживать все через gdb конечно полезнее, когда ты можешь с лёгкостью пересобирать тулчейн от avr до ядра линукса под mips со всегда привычным окружением, но нужно ли это для человека который рассматривает программирование как просто хобби? Сомневаюсь.

> объектно-ориентированная модель прибитая гвоздями,

Она всегда прибита гвоздями, так как нужна не сама по себе, а для взаимодействия с уже существующим кодом. И само по себе ООП может и не лучшая штука, но оно повсеместно в десктопных приложениях, мобильных приложениях, драйвера в ядре линукса тоже написаны в ООП стиле. Освоив в одном виде, проще будет вникать в другие.
Но можно и забить, писать все методы в основном классе.
Хорошая сторона шарпа в том, что совсем очевидные грабли вроде if (x =1) там отсутствуют, в типах не едет implementation defined через implementation defined, и нет изобилия идиом вроде do {...} while (0) в макросах или include guard-ов и указаний правил name mangling-а в составе каждого первого хедера. Да, оно все легко гуглится, но велик соблазн забить, а потом ловить странные проблемы и забросить программирование вообще.

> и привыкание к библиотекам на каждый базовый чих,

Привыкать использовать голый winapi или дергать системные вызовы и хардкодить пути в sysfs в линуксе столь же нехорошо для универсальности. В любой сколь-либо полезной задаче придется идти на привязки, либо городить свои слои абстракции для портабельности.

>2. Сярп, точней дотнет к которому он прибит гвоздями, проприетарен.

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

>3. В конце концов, Сярп жырный.

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

>> No.204715  

>>204708

>Паскаль вполне себе позволяет опасные хаки над указателями,

В розетку гвозди тоже пролезут, но розетка лучше чем соединение скруткой оголённых проводов.
Так же и здесь, в шарпе можно жить, не прибегая к постоянным кастам указателей и не думать почему в стандартной библиотеке есть strcpy и strncpy, а все почему-то украдкой лепят strlcpy.

>Зато у плюсов самый большой выбор библиотек, плюс все Сшные либы.

О которых надо сперва узнать, прочитать документацию, суметь включить в свою сборку, в процессе последнего опять же слепо доверится магии IDE, либо героически продираться через какой-нибудь cmake... Или некрофилировать какой-нибудь С++ builder с готовыми библиотеками , знаю людей которые до сих пор им пользуются и ноют из-за того что 6-я версия плохо работает на 64хбитных системах. Думаю, С# все же получше будет.

Так-то я сам не против чтобы все готовились по подобной программе:
https://sharpc.livejournal.com/67583.html
Но надо все же смотреть на вещи реалистичнее, цена подобного обучения - запредельная, универсальность не отобьется соответствующим увеличением умений решать больше проблем и следовательно зарплатой, а с возрастом ещё и приходит понимание конечности жизни и наличия у знаний ещё более конечного периода актуальности и полураспада памяти, всего не освоишь и тем более не будешь в состоянии применять одновременно. Универсальность и непроприетарность тоже сомнительные ценности - любая задача сложнее laba2 на бумаге означает взаимодействие с существующими системами на предопределенных языках, да даже code style взять, хотя казалось бы, какая машине разница что компилировать.
Впрочем, шарп я советую из того с чем сам знаком и не исключаю что есть более подходящие языки для хоббийных целей.

>> No.204717  

>>204712

> У меня Идея на мобильном Нортвуде тормозит меньше, чем хеллоу ворлд на этом КуТе

Может ты про QML и WebEngine? Ну да, куда свежему хромиуму на этот ископаемый нортвуд. Здесь и нужна модульность Qt. Виджеты и контейнеры вполне себе работают на pII с 128Мб оперативки.
Давай лучше сказку расскажи про работу дотнета-4 в XP на 128 метрах.

> написать и отладить в одиночку

Тут я с тобой согласен. Если в команде разрабов на unsafe-языке появится и задержится надолго хотя бы один страдающий программистским склерозом - то всё, туши свет.
>>204715

> О которых надо сперва узнать

Обычно они сразу перед глазами при погружении в предметную область.

>> No.204718  
>Зарекаться, что ты никогда не забудешь обнулить долбаный указатель

void why_do_i_suck_at_coding_aka_safe_free_just_stick_it_everywhere(void *ptr)
{
if(ptr) { // if NULL != 0 then go fuck yourself, seriously

`free(ptr);`
`ptr = NULL;`

}
}

int do_bullshit(...)
{
...
char *byteptr = malloc(1);
*byteptr = 0xaa;
...
}

int do_other_bullshit(...)
{
...
puts("Fuck that pointer");
why_do_i_suck_at_coding_aka_safe_free_just_stick_it_everywhere(ptr); // BTW don't bother me about where the variable comes from ;-)
...
}

So, am I retarded or genius in elegant solutions? Why do I HAVE to remember the references? OK, the legit concern is that you have to clean up after shitters who cannot code, but if you don't, then what?

>> No.204719  

>>204717

>Обычно они сразу перед глазами при погружении в предметную область.

В оп-посте она не озвучена, и правильным ответом может оказаться lua, потому что скрипты к игре пишутся на ней. Или php, если хочется запилить очередную борду.

>> No.204742  

>>204701

> Сярп, точней дотнет к которому он прибит гвоздями, проприетарен.

Спецификация языка является открытым стандартом, код .NET Core и Mono открыт и распространяется под свободной лицензией. В дистрибутивах GNU/Linux есть написанные на C# приложения.

> Сярп жырный. И программы у него выходят такие же.

.NET жирный, но он предустановлен на всех поддерживаемых Microsoft десктопных версиях Windows. Поэтому exe-шники программ на C# могут быть лёгкими.
>>204712

> На паскаль же стандарта нет

Есть ISO 7185 и ISO 10206.
>>204714

> > объектно-ориентированная модель прибитая гвоздями,
> Она всегда прибита гвоздями, так как нужна не сама по себе, а для взаимодействия с уже существующим кодом.

В том же Perl она не прибита гвоздями, а приклеена сбоку и к общему де-факто стандарту для взаимодействия пришли не сразу.

> нарушать возможность заработать на этом коде

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

> порождают запредельно уродливые костыли

Всё равно лучше, чем ничего.

> Привязки же к системе будут в любом случае, даже для самых банальных операций вроде измерения интервалов времени или поиска файла в папке.

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

>> No.204743  
Файл: b694d936c572729ebe3732a2bf4994e5a022e14f(...).png -(394 KB, 1374x1410, b694d936c572729ebe3732a2bf4994e5a022e14f(...).png)
394

Ух ты, началось боевое метание копипаст на английском!

>>204717
Я говорю про то, что вы сейчас выкачаете из интернета, если как старая бабушка, вспомните, что было 10-ть лет назад, и решите, что КуТе — это хорошее решение для прилаги из пяти контролов. На нём даже китайцы уже ничего не пишут.
Но, таки, я вижу, что вы со мной согласны. Тем более, что в итоге вам надо для этой прилаги или тащить рантайм КуТе в ~300 MB под топовое железо, либо JRE 8 в ~100 MB, который к железу совсем не требователен.

>Если в команде разрабов на unsafe-языке появится и задержится надолго хотя бы один страдающий программистским склерозом - то всё, туши свет.

Если всех стариков выгнать, то работать некому будет. Молодые хотят через пол-года складывания кубиков иметь пиджак, форд-фокус и ипотеку, а не новое пальто с вещевого рынка и спортивную шапочку за написание числодробилок и знание С++14 наизусть.

>>204715

>О которых надо сперва узнать, прочитать документацию, суметь включить в свою сборку, в процессе последнего опять же слепо доверится магии IDE, либо героически продираться через какой-нибудь cmake...

Добавлю ещё подводный камень интерфейсинга, о котором уже неявно высказался >>204709, даже для библиотек, густо обмазанных extern "C" и #ifdef cplusplus.

>>204718
В задаче говорилось про два разных указателя на один объект.
Мы вам перезвоним.

>> No.204744  
Файл: q.jpg -(80 KB, 530x749, q.jpg)

>>204743

> JRE 8 в ~100 MB, который к железу совсем не требователен.
>> No.204745  

>>204743

>два разных указателя на один объект

Окей.
То есть, скажем, мы создали локальную переменную для каких-то там целей, а затем кому-то приходит в голову освобождать по этой переменной, вместо заранее продуманных мест для этого, так что ли? Или я слишком плохого мнения о человечестве и слишком хорошего - о том, каким следует писать код? По какой, отличной от идиотизма, причине, нужно таскать по вызовам/иметь глобальной более чем одну ссылку на объект? По какой, отличной от идиотизма, причине, имея подобную функцию, ты будешь обнулять локальные указатели, если ты знаешь, что "основной" от этого не изменится? Просвети плз, мне и правда неизвестны глубины "продакшна", я хоббист, лол.

>> No.204750  

>>204742

>Если нарушает, то это была возможность заработать не на коде, а на его закрытости и ограничениях.

Продается всегда решение проблемы, а не код, он лишь инструмент. И его открытость иногда проблему решить не позволяет, или делает его невыгодным.

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

...и в С# достаточно богатая стандартная библиотека.

>> No.204751  

А есть какой-нибудь язык, где кроме ифов, функций, математических операций, переменных и их сравнения ничегошеньки нет? А то... напрягает. Хотя по правде сказать, некоторые нужные велосипеды пилить с нуля гораздо больше не хочется. Идеально было бы что-нибудь компилируемое, куда не входит по умолчанию over9000 библиотек. И можно подключать лишь нужные ручками. Причём под строго определённые задачи, а не как картриджи для денди "1000000 в одном".

>> No.204752  

>>204751
Просто мне бы например хотелось даже циклы и аналоги свитч самому писать. А когда ты знаешь что они и так в комплекте идут, как то рука не поднимается.

>> No.204753  

>>204751

>где кроме ифов, функций, математических операций, переменных и их сравнения ничегошеньки нет?

goto забыл.
Не знаю, есть или нет именно такой, что ты попросил.
Ассемблер x86 подходит в принципе, только там нет ни ветвлений, ни циклов, ни функций как таковых, хотя их написание очень прозрачно (jz/jnz, jmp, push/pop, call/ret).

>> No.204754  

>>204751

>А есть какой-нибудь язык, где кроме ифов, функций, математических операций, переменных и их сравнения ничегошеньки нет?

Welcome to Oberon-07/16

>> No.204755  

>>204751
Брейнфак?
Что мешает просто не использовать лишнее в каком-нибудь обычном языке? Чтобы понять что сложные задачи требуют сложных решений достаточно написать несколько сотен строк в подобном стиле.

>> No.204756  

>>204714

> Писать в виме на С, писать мейкфайлы...

Я ткнул тебя в крайность, зачем ты тыкаешь меня в твою же ошибку? Я ничего такого не писал.

> Она всегда прибита гвоздями

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

> само по себе ООП может и не лучшая штука

Как раз наоборот, хорошая, как идея, и как результат - если умеешь её готовить, но к этому надо прийти начав с основ, и соостветственно с языков, где доступно больше возможностей. Даже Дельфи был бы лучшим советом чем Сярп в этом смысле.

> Привыкать использовать голый winapi или дергать системные вызовы...

Ну и вот опять те же крайности, про которые как раз я тебе говорил. В чм проблема использовать нормальные языки и нормальную среду, а не скакать между винапи в блокноте и "Как в %языкнейм% сложить два числа? В %библиотеканейм% есть функция для этого", о приучении к которому я и писал.

> Для личных целей это не имеет значения

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

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

>>204715

> а с возрастом ещё и приходит понимание конечности жизни и наличия у знаний ещё более конечного периода актуальности и полураспада памяти, всего не освоишь и тем более не будешь в состоянии применять одновременно

Именно по этому нужно учить в первую очередь то, что не устаревает - основы, а дальше на них нанизывать что хочешь и что нужно, а не жонглировать всю жизнь непонятными командами как обезьянка.
>>204742
Знаем мы эти открытые стандарты от Майкрософт, проходили уже не один раз. А этот Моно ты сам-то пробовал?

> Поэтому exe-шники программ на C# могут быть лёгкими.

И конфликтовать с каждым вторым обновлением в самых неочевидных местах.

> но он предустановлен на всех поддерживаемых Microsoft десктопных версиях Windows

И не компилиться больше ни подо что.
>>204750

> >При достаточно богатой стандартной библиотеке для самых банальных операций привязки к системе не будут нужны.
> ...и в С# достаточно богатая стандартная библиотека.

...но напрочь привязанная к одной единственной системе.

>> No.204757  
Файл: 1538086653276.jpg -(105 KB, 850x758, 1538086653276.jpg)
105

>>204751
Одним из первых же постов же.

>> No.204762  

>>204756

>Мултипарадигменные языки? Не не слышал.

Что-то кроме с++ и js не слышал о таковых в массовом использовании, как и о том что мешать подходы считается хорошей практикой.

> и соостветственно с языков, где доступно больше возможностей

Зачем нужно больше возможностей сразу?

>Даже Дельфи был бы лучшим советом чем Сярп в этом смысле.

Что он может того что не может Шарп, и ничего что он в комьюнити эдишн появился лишь в последний месяц, и даже обратную совместимость с самим собой не соблюдает?.

> В чм проблема использовать нормальные языки и нормальную среду,

Чем MSVS ненормальная среда, и C# ненормальный язык, в особенности для личного пользования? Нельзя валить на собесах вопросами про выравнивания структур и зоопарком подходов к написанию программ из разных исторических эпох?

>А для себя можно и нужно писать на чём удобно,

О каком удобстве речь? Intellisense значительно лучше отрабатывает на C#, например, значительная часть ошибок С/С++ отлавливается ещё на этапе компиляции.

> нужно

Кому нужно?
В оппосте про широту универсальности и проприетарность ничего не говорилось. Нужность на рынке труда? Она сопоставимая, если не выше у шарпа.

>и пробовать разное,

До этого нужно сперва созреть, и научиться писать и видеть результат на чем-то, выдающем его сразу, и желательно не на среде позволяющей кастом одного указателя или отсутствием типов вообще в одной переменной протащить через программу 100500 разных сущностей или нахвататься подобных практик. Именно как учебный язык, turbo pascal нашего времени шарп идеален.

> Проблема здесь не в том что ты потом собираешься делать с кодом, а как ты его вообще пишешь.

Именно, потому начинать нужно с инструмента, который не даст приучиться к откровенным говнопрактикам и страданиям вместо решения интересующих задач.

>> и нет, "> нынешний год" не является аргументом в любом году.

Только если ты имеешь свое полупроводниковое производство и полный цикл выпуска железа и всю софтовую инфраструктуру.
Программирование - сфера социальная, хочешь, не хочешь - у тебя сегодня (отметаем заведомое ретро, так как в этом случае вопрос из оп-поста бессмысленный), а не 100500 лет назад есть сегодняшнее железо, сегодняшняя ось, сегодняшние форматы и объемы данных, наконец, сегодняшние сайты в интернете. Или ты и CMS на С++ предлагаешь писать?

>Именно по этому нужно учить в первую очередь то, что не устаревает - основы,

Тем более странно с таким подходом выбирать С++, язык, сложенный не в академических кругах или после анализа прогнозируемых потребностей бизнеса на перспективу, а бессмысленной и беспощадной эволюцией.
Базовые вещи - это математика и физика. А то что в байте 8 бит - это не базовая вещь, а яскозал от IBM в середине прошлого века, от спецификации того же шарпа отличаясь лишь количественно, и рискующий лет через 50 так же кануть в Лету, как например для математиков неактуальны ручные вычисления или химиков стеклодувное дело, тоже когда то базой считалось.

> а не жонглировать всю жизнь непонятными командами как обезьянка.

С момента как конечные автоматы начали работать по программе, написанной отдельным от электронщика человеком, оно все этим самым жонглированием абстракциями и является.

>...но напрочь привязанная к одной единственной системе.

Процесс написания подавляющего большинства программ происходит на десктопе. Большинство десктопов на винде. Под микроконтроллеры/плис/мобильные привязка вообще обратная - 1-2 основных языка, и все, и вопроса из оп-поста не стоит. Как и не могло бы его стоять если бы человек осмысленно замахнулся на что-то серьезное.
Зачем решать не поставленные задачи кроссплатформенности?

>> No.204767  

>>204757
Каким именно? В упор не вижу. Если же речь просто об упоминании, то там уже успели целую кучу перечислить. Тыкни меня носиком пожалуйста.

>> No.204768  
Файл: 3khrnri.jpg -(78 KB, 610x357, 3khrnri.jpg)
78

На каком-то непонятном инопланетном языке вы здесь разговариваете. Пишут, что для новичков Python хорошо заходит, его и буду изучать

>> No.204769  

>>204768
Плюсы они такие. Все правильно выбрал.

>> No.204771  
Файл: .gif -(358 KB, 500x375, .gif)
358

>>204752

>Просто мне бы например хотелось даже циклы и аналоги свитч самому писать.

Очевидный Forth.
https://github.com/AlexandreAbreu/jonesforth/blob/master/jonesforth.S

>> No.204772  

>>204768
Если стоит винда, бери C#. Если линукс - питон. Наоборот тоже можно, но будет намного неудобнее.

>> No.204773  

>>204772
Почему?

>> No.204774  

>>204773
Потому что >>204692

>> No.204775  

>>204771
Спасибо. Хорошая штука. Жаль придётся мозги на изнанку выворачивать покуда не привыкну. К тому же уж больно к скобочной системе привык. Что у любого обобщаемого содержимого обязательно должен быть как открывающий, так и закрывающий тэг.

>> No.204790  
Файл: scheme_lisp_SICP_My_Little_Pony.jpg -(68 KB, 625x790, scheme_lisp_SICP_My_Little_Pony.jpg)
68

>>204767

> >>204627

>>204775

> К тому же уж больно к скобочной системе привык.

(:^)

>> No.204792  

>>204790
Забавно. Чем то PHP до боли напоминает. И в то же время, хочется самому-себе по губам за такое сравнение надавать.

>> No.204794  

>>204792
Наверное потому что Lisp сильно повлиял на Perl. А php по сути его форк.

>> No.204795  

>>204768
Маладца, успехов. Этого >>204772 не слушай, про шарп можешь вообще забыть как минимум пока не начнёшь осваивать ООП.

>>204762

> Что-то кроме с++ и js не слышал о таковых в массовом использовании

Ну вот два уже есть. А сказал плюсы, говори Сишка. И пишешь пост в ответ на Дельфи. И сам же вспоминаешь Турбо Паскаль. И всё это в треде где в ОП-посте есть питон.
Ну ты понел.

> как и о том что мешать подходы считается хорошей практикой

Не, можно конечно под каждый подход свой язык подбирать, как это в нормальном продакшоне делается, но тут возникает два вопроса 1. И ты сам же об этом писал - а откуда об этих подходах узнать, если они не сразу под рукой в выбранном языке. И, что важнее 2. С какого начать (правильный ответ: с императивного). И Сярп проваливается по обоим.

> и даже обратную совместимость с самим собой не соблюдает?

Ух ты, прямо как Сярп! Только ещё и работает больше чем в одной среде под одной системой.

> Чем MSVS ненормальная среда, и C# ненормальный язык

Безальтернативностью. В особенности для обучения программированию.
И в этом и удобство - писать так, как и где удобно, а не единственным способом в единственной среде, которые за тебя дяди из корпорации выбрали.

> До этого нужно сперва созреть, и научиться писать
> Именно, потому начинать нужно с инструмента, который не даст приучиться к откровенным говнопрактикам

И именно по этому не следует начинать с Сярпа.

> Базовые вещи - это

То, как пишутся и выполняются программы, основные парадигмы, начиная с императивной, и конструкции, не зависимо от языка, основные алгоритмы, и уже на верхушке этого знание синтаксиса и особенностей конкретных языков библиотек и сред.

> то что в байте 8 бит - это не базовая вещь

Вон из профессии.

> >> и нет, "> нынешний год" не является аргументом в любом году.
> есть сегодняшнее железо

Вон их профессии x2

>> No.204798  

>>204795

>А сказал плюсы, говори Сишка

То, что на С можно писать ООП не значит что это делать рационально, ещё предложи на баше функционально писать.

> И Сярп проваливается по обоим.

Свалить весь код в один класс все же проще, чем вкостыливать классы в С.

> Только ещё и работает больше чем в одной среде под одной системой.

Как и С#.

>Безальтернативностью

Ну попробуй собрать clang-ом линукс, или обновить рекомендуемую для сборки 7-го андроида 14-ю убунту до 16-й.
Нет этой альтернативности в любом сложном проекте, если она не закладывается как цель, и в этом нет ничего плохого.

> а не единственным способом в единственной среде,

Я привел один пример для человека, не знающего о чем идёт речь, ты не привел ни одного.

>И именно по этому не следует начинать с Сярпа.

Только вот, кроме постсовковых шараг с++ обучающим языком никто не ставит.

>То, как пишутся и выполняются программы, основные парадигмы, начиная с императивной, и конструкции, не зависимо от языка, основные алгоритмы,

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

>знание синтаксиса и особенностей конкретных языков библиотек и сред
>Вон их профессии

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

>> No.204799  

>>204798

> Я привел один пример для человека, не знающего о чем идёт речь, ты не привел ни одного.
> > Что-то кроме с++ и js не слышал о таковых в массовом использовании
> Ну вот два уже есть. А сказал плюсы, говори Сишка. И пишешь пост в ответ на Дельфи. И сам же вспоминаешь Турбо Паскаль. И всё это в треде где в ОП-посте есть питон.
> Ну ты понел.
> Как и С#

Ну так где?

> Только вот, кроме постсовковых шараг с++ обучающим языком никто не ставит.

Ну давай, расскажи мне, где что ставят обучающим языком. Потому что Шарп не ставят даже в постсоветских шарагах, не говоря про какой-нибудь MIT где сейчас как раз выбранный ОПом Питон и прочий топ.

> Кроме алгоритмов, все перечисленное - продукт произвольных выборов коммерческих компаний и эвристика, весьма тесно связанные с
> >знание синтаксиса и особенностей конкретных языков библиотек и сред

А вот теперь попробуй сам с этой позиции доказать, что Шарп хоть чем-то лучше Плюсов (ведь начал-то ты именно с этого) или, чего мелочиться, Брейнфака, например?

> Это игнорирование объективных особенностей современных реалий

Современных, или просто твоих личных? Тебе приводят аргументы, почему Сярп плох для обучения, а у тебя в ответ на это "основы не основы, это всё корпорации придумали, начинать учиться надо именно с классов, и наплевать что не зная о процедурах и массивах ты классы всё равно гарантированно не поймёшь, а не зная хотя бы в общих чертах как выделяется память засрёшь её всю, современное железо стерпит (почём там нынче видяхи-то?), ведь языков не только с классами всего два, и си, который не считается, потому что там классы плохие, вот в плюсах классы хорошие, но сами плюсы плохие, потому что заботливый большой брат не написал мне готовых библиотек чтобы мой код не падал даже от грубейших ошибок, а чем-то не нравится мой сярп, ну и пишите теперь только на ассемблере, других вариантов ведь нет". Ты хоть сам понимаешь насколько всё это смешно?

> Как один из вариантов подход имеет право на жизнь, но на норму он уж никак не претендует.

Собственно, всё что можно сказать об обучении на Шарпе.
Как удобно, когда ты с первого поста сам пишешь идеальные формулировки для основного вывода.

>> No.204805  

>>204624
Думаю имелось ввиду, что PHP готова принести тебе всё что только пожелаешь уже готовым на блюдечке. Вот только скорее всего не донесёт. Являются ли тому виной лишь внутренние причины (слоник символизирует библиотеки), или так распространённая невообразимая корявость кода (слоник символизирует сообщество), из рисунка не понятно. Скорее второе. Потому что явные аппаратные проблемы у языка только с практически неработающим инструментом отладки.

>> No.204808  

>>204799

>Ну так где?

А где среды, IDE+ окружение? Сам же назвал передергиванием сборку тулчейна с нуля.

> Потому что Шарп не ставят даже в постсоветских шарагах,

Но ведь ставят.

> не говоря про какой-нибудь MIT где сейчас как раз выбранный ОПом Питон и прочий топ.

https://ocw.mit.edu/courses/civil-and-environmental-engineering/1-124j-foundations-of-software-engineering-fall-2000/

>>The design and development of component-based software (using C# and .NET) is covered;
>А вот теперь попробуй сам с этой позиции доказать, что Шарп хоть чем-то лучше Плюсов

Удобством работы с ним, очевидно же.

>Тебе приводят аргументы, почему Сярп плох для обучения,

Кроме меньшей чистоты кода при его написании в процедурном стиле, все прочие аргументы критикуют его неуниверсальность и привязку к одной платформе.

> и наплевать что не зная о процедурах и массивах ты классы всё равно гарантированно не поймёшь

Работать можно в одном классе, и в шарпе есть массивы.

>а не зная хотя бы в общих чертах как выделяется память засрёшь её всю,

А знать - это посредством brk() или аналогов в других осях двигать границу кучи или настраивать анонимные отображения, самостоятельно велосипедить пул объектов и следить за его фрагментацией, или все же банально прибегать к готовым malloc()/free() переложив собственно работу с памятью на стандартную библиотеку, и ловя такие же тормоза при бездумном вызове большого количества malloc() в цикле?
Между тем, даже в ядре линукса современные драйвера пишутся cо сборкой мусора для не привязанной непосредственно dma или регистрам памяти посредством devm_kzalloc().
Умение писать unsafe код под многозадачную операционную систему это не овладевание всем стеком технологий в программировании, а достаточно небольшое расширение.

> Ты хоть сам понимаешь насколько всё это смешно?

Мне не смешно, когда испорченные догматом об универсальности и неприязни готовых решений тащат в продакшн самописные реализации md5 потому что "там же немного писать", с багом, появляющимся когда длина строки на единицу меньше чем кратная 64, другой, не совладав с указательной лапшой вместо ее переписывания начинает обманывать valgrind, выделяя память при помощи mmap().

>> No.204812  
Файл: 15121302870630.gif -(976 KB, 450x327, 15121302870630.gif)
976

>>204775

>Жаль придётся мозги на изнанку выворачивать покуда не привыкну.

RPN - это вообще не проблема, за пару дней привыкнешь. Зато в награду получишь очень простую и удобную среду разработки, которая тебе полностью понятна и подконтрольна. Никакого мамбо-джамбо, танцев дождя, "результат этой операции не определен". Ты можешь сесть, заварить чайку и написать свой Forth для нужной тебе железки самостоятельно за пару-тройку вечеров, с нуля. Хоть в машинных кодах, если ассемблера для нее пока нет. И на выходе получишь полноценный REPL, в котором можешь удобно изучать свою железку методом trial & error без ежеминутной перекомпиляции и перепрошивки, модифицировать исполняющийся код, писать самомодифицирующийся код и вообще всячески развлекаться. И самое главное - менять семантику языка в соответствии со своими хотелками, создавать новые языковые конструкции, подходящие для решаемой задачи: https://www.youtube.com/watch?v=mvrE2ZGe-rs
Вообще, если хочешь пощупать Forth с практической стороны - добро пожаловать в дивный мир микроконтроллеров, там он цветет и пахнет:
https://hackaday.io/project/16097-eforth-for-cheap-stm8s-gadgets
https://github.com/TG9541/stm8ef/wiki/STM8-eForth-Programming
https://github.com/zeroflag/punyforth




[d | an-b-bro-fr-gf-hr-l-m-maid-med-mi-mu-ne-o-old_o-p-ph-r-s-sci-sp-t-tran-tv-w-x | bg-vg | au-mo-tr | a-aa-abe-azu-c-dn-fi-hau-jp-ls-ma-me-rm-sos-tan-to-vn | misc-tenma-vndev | dev-stat]
[Burichan] [Futaba] [Gurochan] [Tomorrow] [Архив-Каталог-RSS] [Главная]