[Ответить в тред] Ответить в тред

02/12/16 - Конкурс визуальных новелл доски /ruvn/
15/11/16 - **НОВЫЙ ФУНКЦИОНАЛ** - Стикеры
09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!

Check this out!

Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • /math/ - Математика • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 207 | 11 | 46
Назад Вниз Каталог Обновить

Аноним 08/02/17 Срд 17:48:59  146301513  
14665248505630.jpg (221Кб, 2560x1600)
помогите выбрать язык программирования
до этого прогал на с++, сейчас планирую пересаживаться на какой-нибудь другой
что необходимо:
+++ наличие универсальных указателей на функциюна метод
+++ возможность вызова функции/метода по имени
+++ полноценное ооп, хорошая производительность
++ возможность передать в функцию, требующую определённое количество однотипный элементов, диапазон из массива
++ функции с переменным числом параметров
++ синтаксис, схожий с с++
++ лёгкая интеграция с другими языками программирования
+ наличие встроенной библиотеки шаблонов
+ наличие простых графических библиотек
+ многофункциональная среда для языка
+ подключаемый сборщик мусора
- динамическая типизация
-- отсутствие каких-либо фич из с++
--- неуправляемый сборщик мусора
Аноним 08/02/17 Срд 17:50:12  146301575
бамп
Аноним 08/02/17 Срд 17:51:21  146301630
бамп
Аноним 08/02/17 Срд 17:52:06  146301680
бамп
Аноним 08/02/17 Срд 17:52:59  146301725
>>146301513 (OP)
Ты такой тупой, что тебе только пхп
Аноним 08/02/17 Срд 17:54:45  146301829
>>146301725
Двощую
мимо-прогер
Аноним 08/02/17 Срд 17:54:47  146301830
>>146301513 (OP)
учи языки командования над людьми. говорят, зарплата вдвое-втрое выше.
Аноним 08/02/17 Срд 17:56:48  146301950
>>146301725
>Ты такой тупой
почему?
>только пхп
по каким пунктам подходит?
Аноним 08/02/17 Срд 17:57:35  146301993
бамп
Аноним 08/02/17 Срд 17:57:44  146302006
>по каким пунктам подходит?
Тебе лучше в менеджеры.
Аноним 08/02/17 Срд 17:59:50  146302145
>>146302006
нет, тебе. если я написал хуйню в списке, то укажи, что именно
Аноним 08/02/17 Срд 17:59:58  146302156
>>146301513 (OP)
Лол, очевидно, что GO. Только на вроде бы нет указателей (не писал на нем). Но из новых и годных языков, больше всего подходит. Еще и комьюнити от Google.
Аноним 08/02/17 Срд 18:01:12  146302242
>>146302156
Ты там такие пункты написал - сборщик мусора и указатели в одном пакете? А ты не размечтался там? Просто я таких языков не знаю, чтобы и мусор собирали и прямой доступ к памяти осуществляли.
Аноним 08/02/17 Срд 18:02:13  146302320
Почему выкатываешься с плюсов? Я сам в них вкатиться хочу. Ты студент или работал с ними?
Аноним 08/02/17 Срд 18:04:39  146302457
>>146302242
>А ты не размечтался там?
вполне возможно, что размечтался. в целом на сборщик пофигу, а вот указатели очень важны.
>>146302320
студентота, выкатываюсь из-за того, что работа с указателями в некоторых ситуациях - сплошные танцы с бубном
Аноним 08/02/17 Срд 18:06:23  146302553
>>146302457
Хз. Плюсы хочу для геймдева учить. Тебе нужно смотреть на Python, Java, C# или Go.
Аноним 08/02/17 Срд 18:11:23  146302851
>>146302553
подожду анончика, который прогал на чём-нибудь из этого. пожелания у меня всё-таки немного специфические
Аноним 08/02/17 Срд 18:13:04  146302959
бамп
Аноним 08/02/17 Срд 18:14:49  146303059
бамп
Аноним 08/02/17 Срд 18:16:24  146303131
бамп
Аноним 08/02/17 Срд 18:18:13  146303217
бамп
Аноним 08/02/17 Срд 18:18:51  146303259
62u4HpI.png (364Кб, 3840x2160)
Вообще самая большая база сейчас у Java. Но голая Java никому сейчас особо не нужна. Дрочи hibernate, spring. Особое внимание обрати на новый java8 стандарт - это вот сейчас очень модно. Когда освоишь можешь scala смотреть, тоже лишним не будет
Аноним 08/02/17 Срд 18:18:57  146303263
бамп
Аноним 08/02/17 Срд 18:20:33  146303348
>>146303259
насколько со списком совпадает?
Аноним 08/02/17 Срд 18:21:23  146303399
бамп
Аноним 08/02/17 Срд 18:22:22  146303452
>>146303348
Про прямой доступ к памяти можешь забыть, но в остальном в целом вроде подходит, особенно с фишками из восьмого стандарта.
Аноним 08/02/17 Срд 18:22:39  146303469
кадер лол
Аноним 08/02/17 Срд 18:22:39  146303470
>>146301513 (OP)
ну есть только 3 языка
java
с
js
остальное мусор для детей
Аноним 08/02/17 Срд 18:24:50  146303599
>>146303452
ок, почитаю
>Про прямой доступ к памяти можешь забыть
по возможности, распиши подробнее этот момент
Аноним 08/02/17 Срд 18:25:51  146303658
>>146303470
Js годный в связке с чем-либо. Сложную бизнес-логику ты одним однопоточным JSом не вывезешь никогда. Ну ты конечно можешь попытаться, но и срать не снимая свитер тоже можно при желании
Аноним 08/02/17 Срд 18:25:57  146303669
bump
Аноним 08/02/17 Срд 18:27:20  146303739
>>146301513 (OP)
аноны, может взлетит использовать какой-либо язык в дополнение к с++ для нормальной работы с указателями?
Аноним 08/02/17 Срд 18:28:19  146303787
>>146303739
Можно в NodeJS использовати изи код написанній на с++. Я такое не осуществлял. Но ведь сам Node На крестах написан. так что...
Аноним 08/02/17 Срд 18:30:07  146303875
>>146303599
А что тут расписывать? Java вообще по сути только со ссылками работает - любой объект это по сути ссылка. Исключение составляют только примитивные типы.
Аноним 08/02/17 Срд 18:32:24  146304004
>>146303787
вот это довольно интересно выглядит
Аноним 08/02/17 Срд 18:33:14  146304052
Test
Аноним 08/02/17 Срд 18:33:47  146304081
rust же
Аноним 08/02/17 Срд 18:34:58  146304147
>>146304081
почти ничего о нём не слышал. по каким пунктам подходит?
Аноним 08/02/17 Срд 18:36:53  146304256
>>146303658
я имел ввиду, что без него сейчас никак, хоть ты обосрись, а связка - тот же java или с, не понимаю тех, кто до сих пор использует php на беке
Аноним 08/02/17 Срд 18:37:36  146304295
бамп
Аноним 08/02/17 Срд 18:38:36  146304364
>>146304256
Никто не использует. Ну может только какие нибудь веб-студии, которые сайты визитки за 15к делают
Аноним 08/02/17 Срд 18:39:39  146304427
>>146304256
Вообще даже лучше не голый Js, а сразу какие нибудь модные фреймворки
Аноним 08/02/17 Срд 18:39:59  146304451
бамп
Аноним 08/02/17 Срд 18:42:00  146304551
>>146304081
>Объектно-ориентированное программирование как таковое языком не поддерживается, но язык позволяет реализовать большинство понятий ООП при помощи других абстракций, например, типажей.
насколько всё плохо?
Аноним 08/02/17 Срд 18:43:33  146304654
>>146304551
Скажем так - ооп На rust это как срать сквозь свитор при помощи вставленной в задний проход трубки
Аноним 08/02/17 Срд 18:44:59  146304728
>>146304654
тогда не пойдёт.
Аноним 08/02/17 Срд 18:47:44  146304911
бамп
Аноним 08/02/17 Срд 18:48:26  146304956
>>146301513 (OP)
С
Аноним 08/02/17 Срд 18:50:32  146305105
>>146302156
Двачую товарища. Указатели в GO есть.
Аноним 08/02/17 Срд 18:54:09  146305340
>>146305105
что с ооп в go?
Аноним 08/02/17 Срд 19:02:21  146305957
>>146302851
На шарпе прогал.
>наличие универсальных указателей на функциюна метод
Вместо указателей там делегаты.
class C {
public int MyMethod(string str)
{
return str.Length;
}
}
.....
delegate int MyDelegate(string str);
C c = new C();
MyDelegate myDelegate = c.MyMethod;
int result = myDelegate("qwe");
>возможность вызова функции/метода по имени
Можно через рефлнксию.
System.Reflection.MethodInfo method = typeof(C).getMethod("MyMethod');
C c = new C();
int result = method.Invoke(c, new object[] {"qwe"});
>полноценное ооп, хорошая производительность
ООП полноценное. Классы, интерфейсы, абстрактные классы, статические классы, ковариация/контрвариация интерфейсов, рефлексия (позволяющая обходить инкапсуляцию...). Только множественного наследования классов нет (а интерфейсов есть), как в плюсах.
Производительность хуже, чем у крестов, и, вроде бы, чуть лучше (мб только в некоторых моментами), чем у джавы.
>возможность передать в функцию, требующую определённое количество однотипный элементов, диапазон из массива
Не совсем понял, что именно ты хочешь. Если в функции эти аргументы объявлены через запятую, то, ну, можешь попробовать это сделать через метод Invoke, описанный выше, только это долговато работает. В таком случае лучше сделать, чтобы функция сразу принимала массив. Тогда и не будет лишних копирований переменных.
>функции с переменным числом параметров
private void MyMethod(params int[] test) {...}
...
this.MyMethod(1, 2, 3, 4);
>синтаксис, схожий с с++
+
>лёгкая интеграция с другими языками программирования
Хз, не пробовал.
>наличие встроенной библиотеки шаблонов
+
>наличие простых графических библиотек
+
>многофункциональная среда для языка
+
>подключаемый сборщик мусора
Он там всегда.
>динамическая типизация
Статическая типизация.
>отсутствие каких-либо фич из с++
Нет дефайнов, которые позволяют компиллятору код подставлять в исходный файл самому. Вроде бы. А мож и есть, но не встречал.
Нет оператора "запятая", позволяющего в одной инструкции выполнить несколько операторов.
>неуправляемый сборщик мусора
Если ты имеешь в виду неуправляемость программистом, то сборка мусора начинается в непредсказуемое время, но можно начать её самому вызовом System.GC.Collect();
Аноним 08/02/17 Срд 19:03:49  146306051
>>146303739
А что тебе не нравится с указателями?
Аноним 08/02/17 Срд 19:33:51  146308126
>>146306051
под каждые типы входных/выходных параметров нужен свой тип указателя - неудобно, указатели не конвертируются в указатели на методы, даже если танцевать с бубном, функцию по имени вызвать нельзяне относится конкретно к указателям, но мешает очень сильно
Аноним 08/02/17 Срд 19:38:32  146308459
>>146305957
>Вместо указателей там делегаты.
не совсем то, что нужно
>Можно через рефлнксию.
вот это интересно, посмотрю
>В таком случае лучше сделать, чтобы функция сразу принимала массив
не всегда. если они сильно семантически различны, то передача как массив-плохое решение
>Нет дефайнов, которые позволяют компиллятору код подставлять в исходный файл самому.
неприятно
в целом весьма неплохо, надо будет посмотреть повнимательнее на с#

Аноним 08/02/17 Срд 19:40:26  146308594
>>146301513 (OP)
Dlang
дальше сам
Аноним 08/02/17 Срд 19:40:28  146308599
бамп
Аноним 08/02/17 Срд 19:42:24  146308743
бамп
Аноним 08/02/17 Срд 19:44:36  146308908
бамп
Аноним 08/02/17 Срд 19:45:25  146308978
на html работаю, зп 85К
Аноним 08/02/17 Срд 19:46:11  146309038
>>146308978
а ооп там есть?
Аноним 08/02/17 Срд 19:47:22  146309122
бамп
Аноним 08/02/17 Срд 19:50:36  146309349
бамп
Аноним 08/02/17 Срд 19:54:38  146309641
бамп
Аноним 08/02/17 Срд 19:59:16  146309999
>>146308459
>не совсем то, что нужно
Это в чём это? Какой вообще чудесный функционал указателей на функцию ты используешь, что тебе не хватит делегата? Делегат, по своей сути, это типобезопасный указатель на функцию, лолд.
>неприятно
Ну, а другим неприятно, когда у тебя половина кода это макросы. Охуеть, серьёзно, выкиньте из головы все нестандартные макросы, чур, чур
>лёгкая интеграция с другими языками программирования
При небольшом желании через маршалинг можешь работать с любым языком, который есть в платформе .net. С теми же плюсами из мелкомягкого компилятора.
>передача как массив-плохое решение
Ты всегда можешь передать чудесный указатель на подмассив, это абсолютно эквивалентно передаче двух указателей на элементы, лол.

Но вообще, у всех языков, кроме крестов, есть проблема с графикой, так что такое. Наличие библиотек =/= они нужные/рабочие.
Аноним 08/02/17 Срд 20:06:54  146310594
>>146309999
>Ну, а другим неприятно, когда у тебя половина кода это макросы.
использовал в основном для сокращения записи указателя на функции, очень удобно
>Ты всегда можешь передать чудесный указатель на подмассив, это абсолютно эквивалентно передаче двух указателей на элементы, лол.
нет же. представь, что ты должен передать в функцию несколько интов с сильно разным смыслом, что отражено в их названиях в описании функции.
>При небольшом желании через маршалинг можешь работать с любым языком, который есть в платформе .net.
посмотрю, интересно.
>Какой вообще чудесный функционал указателей на функцию ты используешь, что тебе не хватит делегата?
много функций с разным количеством параметров, под каждый вид отдельный делегат/указатель заводить не хочу
Аноним 08/02/17 Срд 20:07:31  146310649
>>146308126
То есть, ты хочешь, чтобы одному и тому же указателю можно было присваивать адреса функций с разными сигнатурами? Если да, то какой в этом смысл, ведь ты не сможешь вызвать функцию, не зная её сигнатуры.
Аноним 08/02/17 Срд 20:09:53  146310804
>>146310649
я знаю, к примеру, что среди параметров только инты, я знаю их количество допустим, возвращаемого значения нет, адрес функции есть, сигнатуру восстановить вполне реально
Аноним 08/02/17 Срд 20:09:58  146310812
>>146310594
>представь, что ты должен передать в функцию несколько интов с сильно разным смыслом, что отражено в их названиях в описании функции.
Если тебе так важны названия, то можешь использовать ассоциативный контейнер.
Аноним 08/02/17 Срд 20:12:42  146311000
>>146310812
в целом неплохой стул. если не найду чего-то удобнее, то воспользуюсь
Аноним 08/02/17 Срд 20:16:04  146311266
>>146310804
Т. е. у тебя, например, есть 2 функции void func1(int par) и void func2(int par1, int par2) и указатель pointer, который может принимать обе этих функции.
И тогда ты будешь писать при использовании этого указателя
if (pointer == func1)
{
pointer(228);
}
else if (pointer == func2)
{
pointer(228, 1488);
}
Так что ли? Но тогда какой смысл вообще в этом указателе?
Аноним 08/02/17 Срд 20:17:43  146311394
>>146310594
>ты должен передать в функцию несколько интов с сильно разным смыслом
может пора подумать про рефакторинг?
>отдельный делегат/указатель заводить не хочу
Посмотри про вариативность делегатов
Аноним 08/02/17 Срд 20:20:15  146311574
>>146311266
не-а. ты принимаешь дополнительно количество параметров(vector.size()), которые надо передать в функцию, и проверка будет
if(vector.size()==1)
{
pointer(vector[1]);
}
if(vector.size()==2)
{
pointer(vector[1],vector[2]);
}
Аноним 08/02/17 Срд 20:21:12  146311648
>>146311394
>может пора подумать про рефакторинг?
возможно
>Посмотри про вариативность делегатов
посмотрю
Аноним 08/02/17 Срд 20:21:31  146311671
>>146301513 (OP)
Си
/thread
ооп нинужон.
Аноним 08/02/17 Срд 20:22:10  146311728
>>146311671
>ооп нинужон.
ПО-ЧЕ-МУ?
Аноним 08/02/17 Срд 20:22:21  146311739
>>146311728
я скозал!
Аноним 08/02/17 Срд 20:23:33  146311833
>>146311739
ох, бля
Аноним 08/02/17 Срд 20:24:46  146311943
>>146311574
В языках со статической типизацией такого не может быть, так как ты тут можешь написать передачу двух параметров в функцию с одним параметром и наоборот. Пересмотри свою архитектуру и найди решение получше.

Можешь, вообще, привести простой пример задачи, где это может понажобиться?
Аноним 08/02/17 Срд 20:25:09  146311971
>>146311833
Что такое ? Чем не аргумент ?
Аноним 08/02/17 Срд 20:26:46  146312093
>>146311728
Нужно захламлённое пространство имён, в котором не найти нужную функцию без гугла.
Аноним 08/02/17 Срд 20:26:48  146312097
>>146301513 (OP)
>полноценное ооп
Я нашел язык для тебя, опхуй.
https://github.com/yegor256/eo
Аноним 08/02/17 Срд 20:30:28  146312373
14528674429710.jpg (26Кб, 250x325)
>>146312097
>These things we don't tolerate:
>NULL
>operators
>type casting
>flow control statements
Да, самые ненужные вещи они выкинули
Аноним 08/02/17 Срд 20:30:48  146312397
>>146311943
>Можешь, вообще, привести простой пример задачи, где это может понажобиться?
простенькая программа похожая на интерпретатор. пользователь пишет, какие команды надо выполнять, я сохраняю адрес функции, которую необходимо вызвать и добавляю дополнительные параметры в зависимости от состояния программы, и в определённый момент выполняю пользовательские команды в определённом порядке на данный момент программа уже работает, но мне совершенно не нравится то, что получилось
Аноним 08/02/17 Срд 20:32:13  146312481
317px-DProgramm[...].png (41Кб, 317x240)
>>146301513 (OP)
Очевидный D очевиден. https://en.wikipedia.org/wiki/D_(programming_language)
Аноним 08/02/17 Срд 20:32:23  146312490
>>146311971
но ведь ооп же классно, ну чего ты?
Аноним 08/02/17 Срд 20:33:38  146312566
>>146312373
>они
Это он, и у него довольно своеобразный взгляд на ооп. Оче классная была дискуссия на тему ооп с ним на жавадэй 2к16. Алсо
>имплагинг, нулл - нужная вещь
Аноним 08/02/17 Срд 20:36:56  146312782
>>146312481
есть что-то, что урезали относительно с++?
Аноним 08/02/17 Срд 20:38:28  146312895
>>146312566
Ну, мне нравится думать про железо. Ссал я с колокольни на высокие ОБЪЕКТНЫЕ материи, сорь.
Аноним 08/02/17 Срд 20:38:31  146312897
В двух словах поясните за ООП школьнику. Сейчас на Си задачи решаю, с крестами будет круче/удобнее?
Аноним 08/02/17 Срд 20:41:32  146313097
Python
+крайне востребован
+быстр в освоении
+100% скрипты для оптимизации своей жизни станешь писать на нём
+он заменит тебе калькулятор
+гигансткое колличество библиотек + лёгкий импорт с-шных(по сути заголовочный файл переписать)
+Django/Tornado/Flask(круче искать априори бесполезно, эти фреймворки и делают пайтон столь востребованным)
+ФЕЕРИЧЕСКИ приятный синтаксис
+Именно на нём написан(серверные части) Youtube/Dropbox
+Его активно спонсирует и юзает google
+активно развивается за счёт PEP'ов(рац предложений пользователей), а не прихоти разработчика самодура
+Полнейшее ООП
+проблема 2/3 уже не актуальна, всё нужное уже переписали
+кроссплатформенен
+взгляни на вакансии Python 3 + Django - кол-во вакансий и ЗП тебя порадуют
-скорость, но в его сфере применения(веб-сервера преимущественно) это не является проблемой
-уйти с него будет трудно, затягивает
-гибкость, он станет гибким только тогда когда ты его крайне глубоко изучишь, на уровне реализации, но тогда проблема производительности отпадает + такие специалисты крайне востребованы просто ОЧЕНЬ востребованы
Аноним 08/02/17 Срд 20:43:06  146313205
>>146313097
ещё к минусам - GIT но обойти реально, но это уже для глубокого понимания языка
Аноним 08/02/17 Срд 20:44:19  146313284
>>146312897
основная идея такая: ты выделяешь из пачки переменных/функций логически связанную часть и объединяешь их под одним именем(машина имеет переменную кузов, движок и функцию ездить). теперь ты можешь создать переменную машина и автоматом создадутся переменные кузов и движок внутри неё+ функция ездить будет иметь постоянный доступ к ним. это совсем в двух словах
Аноним 08/02/17 Срд 20:45:01  146313334

>>146313097
>количество вакансий порадует

Ты на приколе? Весело конечно на нем, но для вкатывания хуйня. Джуны питонисты почти нигде не нужны. Проще действительно уж с похапэ стартовать.
Аноним 08/02/17 Срд 20:46:17  146313407
YuWcdpWNcLI.jpg (37Кб, 604x417)
>>146313284
Спасибо, теперь понял.
Аноним 08/02/17 Срд 20:47:04  146313450
>>146312397
Сделай для каждой команды по классу, наследнику одного и того же базового класса, и оверрайдь в них виртуальный метод, принимающий мапу с параметрами (имя=>значение). Либо мапу с параметрами передавай в конструктор, а оверрайдить будешь метод без параметров.
Все эти объекты в контейнер базового класса загоняешь и на стадии выполнения просто по очереди вызываешь тот метод перегружаемый.
Аноним 08/02/17 Срд 20:47:46  146313503
>>146312481
выглядит весьма неплохо. другие аноны, отпишитесь, сталкивался ли кто ещё с этим языком, как ощущения?
Аноним 08/02/17 Срд 20:48:21  146313550
>>146313334
есть и для джуниоров, согласен меньше, но есть. Но он и не вкатывается, он таки на ++ уже посидел. Специалист задроченный в пайтоне - редкость. Самый норм сейчас вкатиться в Python на Лутце + любая рандомная с названием по стрёмней, пройтись по Djang'е и уйти в проект по поддержке Djang'и. Опыт наберёться быстро если не дрочить на стены.
Аноним 08/02/17 Срд 20:48:43  146313578
>>146313503
Тебе как хобби язык нужен? Если нет, ориентируйся в первую очередь на рыночек.
Аноним 08/02/17 Срд 20:49:48  146313633
>>146313550
Тоже думал о джанге. Мне понравится? Лучше похапе?
Аноним 08/02/17 Срд 20:50:08  146313656
>>146313407
почитай наследование, инкапсуляция, полиморфизм, и офигей от потенциала ооп
Аноним 08/02/17 Срд 20:51:42  146313769
>>146304052
Двачую
Аноним 08/02/17 Срд 20:52:23  146313808
>>146313633
Это довольно разные вещи. Django даст тебе возможность с пол пинка делать почти что угодно(просто взгляни на первые 5-6 страниц любого тутора и ты поймёшь в чём её прелесть). Нравится она всем, точнее не только лишь всем, мало кому она не нравиться)) ИМХО там где есть смысл развернуть Django, php соснёт.
Аноним 08/02/17 Срд 20:53:08  146313858
>>146313578
>ориентируйся в первую очередь на рыночек.
я бы хотел, чтобы ты был неправ. очень.
Аноним 08/02/17 Срд 20:55:10  146313986
>>146313450
>Сделай для каждой команды по классу, наследнику одного и того же базового класса
если я буду использовать мапы, то классы здесь в принципе будут избыточны. это ведь один из паттернов, верно?
Аноним 08/02/17 Срд 20:59:08  146314253
>>146301513 (OP)
TypeScript
>наличие универсальных указателей на функцию
Можно сказать Check, если считать ссылку и указатель одним и тем же
>полноценное ооп, хорошая производительность
Check
>возможность передать в функцию, требующую определённое количество однотипный элементов, диапазон из массива
Check ...myArray %
> функции с переменным числом параметров
Check
>лёгкая интеграция с другими языками программирования
Check
>наличие встроенной библиотеки шаблонов
Check
>наличие простых графических библиотек
Check
>многофункциональная среда для языка
Check
>подключаемый сборщик мусора
Not check
>динамическая типизация
По желанию
>отсутствие каких-либо фич из с++
давно с плюсами дела не имел, так что не знаю что сказать
>--- неуправляемый сборщик мусора
Увы, check
Аноним 08/02/17 Срд 21:00:20  146314322
>>146302006
>>146301830
сладкий бубалех
Аноним 08/02/17 Срд 21:02:11  146314433
>>146313808
То есть полную замену пыхе он не обеспечит?
Аноним 08/02/17 Срд 21:04:12  146314557
>>146314253
>Check ...myArray %
это просто офигенно, обязательно почитаю про этот язык
Аноним 08/02/17 Срд 21:05:51  146314655
>>146313986
Почему классы избыточны? Мапы нужны для того, чтобы передавать в команду различные параметры из командной строки и использовать их по именам.
Аноним 08/02/17 Срд 21:08:28  146314852
>>146314557
это фича из EcmaScript 6, но в ТСе поддерживается и компилируется в любой JS левел. А еще есть по целым объектам:

const obj = { ...prevObj, a: 5 }

а еще есть async/await
Аноним 08/02/17 Срд 21:10:21  146314974
>>146314655
сигнатура у всех функций одинаковая -> понадобится один тип указателя -> помещаем все функции в один класс -> вызываем через указатель. а классы здесь были бы просто большим количеством не сильно полезного кода. и всё-таки, это паттерн, или я туплю?
Аноним 08/02/17 Срд 21:11:53  146315079
>>146314852
а как ооп вообще компилируется в javaScript?
Аноним 08/02/17 Срд 21:14:45  146315268
Brainfuck

/thread
Аноним 08/02/17 Срд 21:16:58  146315442
>>146315079
в завимости от таргета. если в ес6 комплировать - то в нативные классы, если в ес5 - то в прототипы
Аноним 08/02/17 Срд 21:18:40  146315541
>>146314974
>сигнатура у всех функций одинаковая
Ты же раньше писал, что разная. И что тебе важны названия параметров.
Да хуй его, какая разница.
Аноним 08/02/17 Срд 21:19:02  146315565
>>146314433
они выполняют несколько разные задачи. Заменить может, но в некоторых случаях(лёгких проектах) даже Flask, а уже тем более Django будет из пушки по воробьям
Аноним 08/02/17 Срд 21:19:55  146315633
>>146302242
unsafe код на сисярпе
Аноним 08/02/17 Срд 21:20:24  146315665
>>146315268
писал брейнфак на брейнфаке.
Аноним 08/02/17 Срд 21:22:45  146315828
>>146315541
либо я тебя совсем не понял, либо в твоём примере в функцию передаётся просто мапа одним параметром, внутри которой имена переменных и их значения, что даёт унифицированную сигнатуру функций
Аноним 08/02/17 Срд 21:23:11  146315848
>>146301513 (OP)
Под все параметры подходит c#. Думаю, и джава тоже подойдёт, туда, вроде бы, тоже прикручивали функциональщину
Аноним 08/02/17 Срд 21:25:31  146315993
rym-r-Bqm74.jpg (51Кб, 679x817)
А если я хочу делать инди-хуинди игры, помимо крестов что юзать? Алсо, доброаноны киньте гайд для гей-дева.
Аноним 08/02/17 Срд 21:26:35  146316074
>>146315993
посмотри sfml библиотеку к крестам, забей на всё остальное
Аноним 08/02/17 Срд 21:28:04  146316167
>>146316074
Спасибо.
Аноним 08/02/17 Срд 21:28:54  146316231
>>146315541
P.S. Если так хочешь какой-нибудь паттерн, то примени абсьрактную фабрику: в базовом классе делаешь статический метод, принимающий строку, содержащую имя команды, и возвращающий, объект класса этой команды.
Аноним 08/02/17 Срд 21:29:04  146316241
>>146313097
Вечера тебе. Смотри, буквально на днях начал вкатыватьсяи выкатываться во всю эту среду и выбрал питон как первый язык, который я хотел бы изучать. Но к Лутцу еще не приступал, а по гайдам начал читать Вирта "алгоритмы и структуры данных" и SICP, книги довольно старые, но там объясняются принципы программирования, которые по сути не изменились за это время. Так вот правильно ли я поступаю? И что еще посоветуешь для изучения питон и пойдет ли он как первый язык? Спасибо.
Аноним 08/02/17 Срд 21:29:50  146316295
>>146309999
>При небольшом желании через маршалинг можешь работать с любым языком, который есть в платформе .net. С теми же плюсами из мелкомягкого компилятора.
Еще через DLR в теории можно много с чем интегрироваться, но сам не пробовал.
Аноним 08/02/17 Срд 21:30:12  146316317
>>146315828
Второе.
Аноним 08/02/17 Срд 21:31:27  146316397
guido.png (2111Кб, 1920x1080)
>>146313097
>а не прихоти разработчика самодура
С этого люто проиграл.
Аноним 08/02/17 Срд 21:35:21  146316646
>>146316241
>SICP, книги довольно старые, но там объясняются принципы программирования, которые по сути не изменились за это время
А почему тогда MIT от него отказался?
Аноним 08/02/17 Срд 21:36:20  146316698
>>146316231
хочу писать такие простенькие моменты считанными строчками кода. спасибо тебе за советы, если не перекачусь - возможно пойду по одному из предложенных тобой путей
Аноним 08/02/17 Срд 21:36:25  146316703
>>146301513 (OP)
Если ты, как ты говоришь, до этого прогал на плюсах, то ты должен сам рассмотреть несколько ЯП и сделать соответствующие выводы. Да и ты не конкретизировал, какие тебе нужны языки, для каких целей? Для web-разработки, али под ОС?
Аноним 08/02/17 Срд 21:36:54  146316741
>>146316646
Нет, я про то, что там, как мне кажется, вводят таких же гуманитариев головного мозка как я в сферу программирования, а именно как правильно мыслить.
Аноним 08/02/17 Срд 21:37:55  146316817
>>146316703
под винду, портируемость идёт в плюс, но не критична, в web вкатываться не хочу
Аноним 08/02/17 Срд 21:39:26  146316932
>>146316241
Лутц "Изучаем Python" 4!!! издание. Это библия Пайтона(не питона, а пайтона!!! он назван в честь телешоу, а не пресмыкающегося), начинать нужно только с неё. Лучше ещё никто не написал.
Аноним 08/02/17 Срд 21:39:33  146316934
>>146316741
Ой, разговоры про мышление начались. Лучший способ чему-то научиться, делать это. Для начала любой курс на ютубе посмотри, дальше задачу себе даешь и гуглишь. Книжки не подстегнут тебя ни к чему, онли практика, проверено.
Аноним 08/02/17 Срд 21:40:24  146316984
>>146316397
ну ладно может и не совсем без его участия)) Но уж степень влияния PEP'ов трудно отрицать. Они внесли серьёзный вклад в удобство пайтона.
Аноним 08/02/17 Срд 21:41:33  146317058
>>146316934
>>146316932
Спасибо. Добра вам.
Аноним 08/02/17 Срд 21:43:13  146317183
Напоминаю всем сычам, что в веб разработке, нихуя даже думать не нужно. Все говно уже сделали за вас. Работа кодера это искать нужные скрипты в библиотечке и прикручивать их.
Аноним 08/02/17 Срд 21:43:53  146317231
>>146317058
Кстати о задаче, я лично изучал(и считаю это верным способом) - читаешь лутца до примерно трети, придумываешь большой проект, например копию какого-нибудь приложения(хоть текстового редактора, пофиг).А дальше читай и реализовывай, ИМХО лучше сразу херачить криво-косо но большую задачу, так ты быстрее набьёшь шишки в стиле написания кода.
Аноним 08/02/17 Срд 21:46:34  146317448
>>146317231
Декстоп? Сложно наверное, если борду свою написать, это еще как то я могу себе представить, но вот вибм конвертер... Например функционал в коде окей, а граф оболочка того же редактора как делается? Тоже в коде прописывается, отрисовывается?
Аноним 08/02/17 Срд 21:46:53  146317475
>>146317183
>в веб разработке, нихуя даже думать не нужно
Ну да, если пишешь говноблог или простенький магазин по продаже дилдаков.
Аноним 08/02/17 Срд 21:47:28  146317516
>>146308126
Еще один говнокодер
Аноним 08/02/17 Срд 21:47:37  146317525
>>146317448
а ты до этого кодил на чём-то?
Аноним 08/02/17 Срд 21:47:43  146317530
>>146317448
На WPF почти так же, как и в вебе.
Аноним 08/02/17 Срд 21:48:20  146317571
>>146317475
А что еще можно писать? Хайлоад уровня лицокниги? Так и там уже все реализовано.
Аноним 08/02/17 Срд 21:48:38  146317587
>>146317516
серьёзно? что именно из этого подвело тебя к такому выводу?
Аноним 08/02/17 Срд 21:49:53  146317664
>>146317525
На сишке, арифметика на пайтоне. Мне непонятно как делается интерфейс приложухи, тоже в фотошопе отрисовывается? Типа как в верстке?
Аноним 08/02/17 Срд 21:50:15  146317685
>>146301513 (OP)
Плохому танцору...
Аноним 08/02/17 Срд 21:51:32  146317766
>>146301513 (OP)
Питон.
Аноним 08/02/17 Срд 21:52:22  146317848
>>146317664
>тоже в фотошопе отрисовывается
или стандартные окошки/кнопки/менюшки.
или крафтишь из графических примитивов внутри приложения если уж совсем что-то примитивное.
Аноним 08/02/17 Срд 21:52:43  146317866
>>146317571
Ну вот окончишь свой быдловузик, устроишься на работу, тогда и узнаешь.
Аноним 08/02/17 Срд 21:52:47  146317870
>>146317448
Моей 3-й при изучении была реплика winamp'а. Tkinter(таки если уж дрочить, то дрочить, впрочем до сих пор нахожу ему применения, ибо он быстр, встроен и кроссплатформенен) сделал GUI, звуки уже ХЗ на чём 5 лет назад было. Ушло где-то неделя разработки(на тот момент 1.5 месяца вялого изучения в 8 классе шкалки). GUI(в т.ч. с разделяемым КАК в оригинале окошком) парсинг треков, чтение заголовков, подгружал с инета инфу и ещё куча дерьма. Разве визуальные наркотики не делал. Вторым проектом(плохо доделаным конечно, он работал только в 1 конкретном месте, но на 2-м месяца вялого изучения школьника 8-го класса думаю норм) - распознавание жестов. Вебка + OpenCV+куча математики(её то и не хватило чтоб толком закончить), распознавать успел за 3 дня научиться кол-во пальцев и угол поворота руки. ХЗ зачем но было прикольно. Также написал игру столлман есть ноги(даже видос остался криво снятый https://vk.com/saram23?z=video316881060_171320860%2Fvideos316881060)
Аноним 08/02/17 Срд 21:53:07  146317901
>>146301513 (OP)
haskell
Аноним 08/02/17 Срд 21:53:23  146317922
>>146317664
спросил потому, что лично мне всегда было понятнее, как сделать десктопку, а вот всякий веб - тёмный лес
Аноним 08/02/17 Срд 21:55:44  146318097
>>146317870
ты просто машина. я подрабатываю репетиторством, ко мне студиозисы приходят, чтобы понять какие-нибудь вложенные циклы, а ты тут ТАКОЕ вываливаешь
Аноним 08/02/17 Срд 21:57:07  146318203
>>146316698
Там надо будет сделать шаблонную функцию template<class T>, которая возвращает указатель на базовый класс (в сигнатуре), но на самом деле возвращает указатель на T, а принимает мапу с параметрами. Далее нужна статическая мапа с ключом — названием класса и значением — адрес на ту шаблонную функцию с соответствующим классом в угловых скобках. И эта мапа инициилизирована строчками вида название команды — адрес шаблонной функции для соответствующего класса, что тоже может быть макросами сделано для уменьшения количества текста.

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

А дальше ты это вносишь в свой вектор команд. И потом, когда надо выполнять их, ты уже не делаешь никаких проверок (объект сам знает, какой код ему выполнять, а параметры уже переданы при инстанциировании), а просто делаешь им всем по очеерди execute().

Я так вижу.
Аноним 08/02/17 Срд 21:57:36  146318246
>>146318097
я дрочить научился в 9-м классе. Потому и делал от скуки)
Аноним 08/02/17 Срд 21:58:57  146318343
>>146318097
Кстати как вкатился в репетиторство? Имею некоторый опыт по знакомым, да и наследственное - маман учитель. Но хотел бы взять пиздюка к ЕГЭ готовить или лучше к олимпиадам. Где рекламиться/как искать?
Аноним 08/02/17 Срд 21:59:04  146318353
>>146317587
Шаблоны и полиморфизм дают достаточную гибкость для того, чтобы подняться над тем плоским миром, где требуется конвертировать указатели. Небось еще динамик кастом пользуешься.
Аноним 08/02/17 Срд 22:01:23  146318509
>>146318343
собственно, идёшь в гугл, пишешь найти репетитора по предмету, выбираешь сайт с репетиторами получше и регаешься там как репетитор. необходима профильная вышка ( не педобраз, а по предмету ), но не везде её наличие будут проверять
Аноним 08/02/17 Срд 22:03:06  146318642
>>146318509
2-й курс шараги по спец-и "Информатика и вычислительная техника" сойдёт?
Аноним 08/02/17 Срд 22:05:01  146318799
>>146318642
ток для некоторых сайтов. заходишь на сайт и смотришь, требуют ли при регистрации докуметры. если да-идёшь на другой
Аноним 08/02/17 Срд 22:06:51  146318926
>>146318353
из пушки по воробьям же
Аноним 08/02/17 Срд 22:10:14  146319213
>>146318203
не уверен, что template там нужен, в предка присваивать наследника и так норм
Аноним 08/02/17 Срд 22:16:15  146319652
испанец 2.webm (2510Кб, 864x720, 00:00:04)
том и джери кни[...].webm (1904Кб, 480x360, 00:00:20)
>>146301513 (OP)
Как ты можешь с чего-то "перекатиться" если ты на плюсах ни копейки не заработал.
Бабу даже не понюхал.
Ты и никогда в него не вкатывался, твои обосанный лабы это просто ничто.
Охуительня история.
Аноним 08/02/17 Срд 22:18:13  146319788
>>146318926
Ты серьезно? Деассемблируй и удивись.
Аноним 08/02/17 Срд 22:20:44  146319996
>>146319788
кода будет заметно больше.
Аноним 08/02/17 Срд 22:21:11  146320027
>>146319996
до комиляции разумеется.
Аноним 08/02/17 Срд 22:21:48  146320074
>>146319996
Понятно
Аноним 08/02/17 Срд 22:22:47  146320152
>>146319213
Это для того, чтобы не делать кучу присваиваний в свитче, а просто макросно проинициализировать мапу названиями.
Аноним 08/02/17 Срд 22:23:41  146320227
>>146320074
эх, чот прибамбливает на тебя... может, я реально хуй...
Аноним 08/02/17 Срд 22:25:31  146320356
>>146320152
тогда ок
Аноним 08/02/17 Срд 22:27:52  146320541
>>146305340
Через ещё большую жопу, чем в остальных «ООП» языках. Впрочем pure OO язык — это жопа с повышенной размерностью.
Аноним 08/02/17 Срд 22:42:32  146321576
оп потихонечку выкатывается курить полученную информацию. спасибо всем анончикам, поучаствовавшим в обсуждении
Аноним 08/02/17 Срд 22:43:46  146321664
>>146320227
У тебя, похоже, заблуждение насчет тяжеловесности некоторых фич языка. Стоит больше дизассемблировать разные подходы, чтобы реально понимать, сколько весит каждый из них. Да, строк кода может оказаться больше (только если это небольшая программа), но после компиляции программа будет не тяжелее, чем если бы она была написана через еблю с указателями. А бонусом будет большая гибкость, что жизненно необходимо при создании больших проектов. Если же в фундаменте большого проекта лежит ебля с указателями, типы которых прибиты гвоздями, то такой проект быстро загнется, т.к. его гибкость будет стремиться к нулю, а внесение изменений в фундамент такого проекта будет требовать массу усилий.
Аноним 08/02/17 Срд 22:44:04  146321684
>>146321576
Пожалуйста.
Аноним 08/02/17 Срд 22:49:19  146322130
>>146321664
ну смотри, на каждую функцию, реально исполняющую свою задачу, приходится одна строго определённая функция - обёртка, помещающая все её параметры в массив данных. + 2 функции: пакующая и распакующая/запускающая данные. не совсем понимаю, где здесь в принципе может всплыть проблема.
Аноним 08/02/17 Срд 23:16:05  146324323
>>146322130
Проблема может оказаться там, где тебе нужно руками кодить много повторяющихся вещей. Например, если тебе для добавления в программу новой "реально исполняющей свою задачу" функции требуется написать еще обертки, где-то зарегистрировать какие-то указатели, что-то еще поменять в десятке файлов, то полезно подумать над дизайном еще раз. Для тебя это, конечно, может и не составлять проблемы. Но с другой стороны ты мог бы поднять эффективность своей работы. Представь, например, что тебе не надо делать обертки, а вся необходимая обвязка генерируется компилятором из шаблонов. Ты только пишешь свою новую "реально исполняющую задачу" функцию и регистрируешь ее одной строчкой.
Аноним 08/02/17 Срд 23:25:20  146324996
>>146324323
к такому я только приблизился. сейчас надо для добавления функции написать обёртку, в которой одна строка - вызов пакующей функции. всё остальное работает само по себе
Аноним 08/02/17 Срд 23:39:16  146326063
>>146324996
паковщик - функция с переменным числом параметров - просто переписывает все параметры в командный вектор
распаковщик:
if(vec.size()==4)
((pmove4)(vec[0]))(vec[1],vec[2],vec[3],step);
if(vec.size()==3)
((pmove3)(vec[0]))(vec[1],vec[2],step);
if(vec.size()==2)
((pmove2)(vec[0]))(vec[1],step);
if(vec.size()==1)
((pmove1)(vec[0]))(step);
}
Аноним 08/02/17 Срд 23:41:18  146326233
>>146301513 (OP)
D.
Аноним 08/02/17 Срд 23:41:23  146326246
>>146326063
  if(vec.size()==4)
((pmove4)(vec[0]))(vec[1],vec[2],vec[3],step);
if(vec.size()==3)
((pmove3)(vec[0]))(vec[1],vec[2],step);
if(vec.size()==2)
((pmove2)(vec[0]))(vec[1],step);
if(vec.size()==1)
((pmove1)(vec[0]))(step);
}
Аноним 08/02/17 Срд 23:43:44  146326433
>>146326233
почему именно D?
Аноним 08/02/17 Срд 23:44:37  146326515
>>146326433
Все твои фичи есть в D.
Аноним 08/02/17 Срд 23:49:34  146326960
>>146326246
Зачем этот лютый пиздец?
Аноним 08/02/17 Срд 23:50:23  146327038
>>146326960
Он так может.
Аноним 08/02/17 Срд 23:51:19  146327126
>>146326960
>>146327038
да, но нет. эта штука для вызова любой функции по адресу и известному количеству параметров
Аноним 08/02/17 Срд 23:55:53  146327541
>>146327126
собственно, этот костыль - одна из вещей, которой я хотел найти замену в этом треде
Аноним 08/02/17 Срд 23:57:46  146327705
>>146327126
но можно же использовать вариадики, не?
Аноним 08/02/17 Срд 23:58:32  146327780
https://vk.com/id207297701
добавьте в конфу
Аноним 09/02/17 Чтв 00:00:18  146327936
>>146327705
как?
Аноним 09/02/17 Чтв 00:00:51  146327980
>>146327936
Без проблем.
Аноним 09/02/17 Чтв 00:02:29  146328113
>>146327980
ну ты всё-таки распиши поподробнее, как именно их здесь использовать
Аноним 09/02/17 Чтв 00:06:02  146328366
>>146327541
И ты выбрал искать другой язык программирования. Заебись. Почитай хоть Александреску, что ли.
Аноним 09/02/17 Чтв 00:07:39  146328484
>>146328366
почитаю
Аноним 09/02/17 Чтв 00:08:10  146328516
Поскаль
Аноним 09/02/17 Чтв 00:15:23  146329027
14847664288120.gif (1898Кб, 500x526)
>>146313503
Провозился с ним какое-то время.
+ Удобно, разные неприятные или ненужные мелочи из С++ пофикшены или переделаны
+ Импорты, хэшмапы в языке (а не в либе), много компайл-тайма, допиленные шаблоны, куча инструментов для мультитрединга в стд, тупли и куча других няшностей. Большая и фичастая стд библиотека.
+ Линковка с С/С++ библиотеками. Можно без проблем дружить с C, были бы биндинги. Можно кое-как дружить с C++.
+ Мгновенная компиляция.
+ На его охуенность можно дрочить.

- Некоторые вещи непривычны после плюсов, надо подолбаться/привыкнуть. Не критично, но если ты дебил, то будет баттхёрт.
- Разработчики — большие любители ломать обратную совместимость. Библиотеки собираются ТОЛЬКО той версией компилятора, под которую написаны.
- Кривоватое API у стандартной библиотеки. Нет ощущения выдроченности, как в С++. Один раз напоролся на конфликт имён из двух разных модулей стд. Не критично.
- Большая и плохо поддерживаемая стандартная либа. Например, shared Variant не засунуть в Message (не помню точные названия классов, но было). Разработчикам дико не хватает рук фиксить всё это говно.
- dub ёбаное говно, пакеты модерируются через жопу, старые пакеты проёбываются, из-за сломанной обратной совместимости компилятора сборка превращается в леденящий душу пиздец. Можно не пользоваться и собирать всё по-старинке, либо прикрутить сторонний сборщик, либо разобраться, как в этом дерьме можно собирать из локальных пакетов.
- Нет работы, в отличие от хипстерского Go, например. Дишка — труъ андеграунд.

Вывод:
Можно играться, но для продакшена не стоит.
Аноним 09/02/17 Чтв 00:22:02  146329493
>>146329027
>Можно играться, но для продакшена не стоит.
Какой у тебя может быть продакшн, насекомое?
Аноним 09/02/17 Чтв 00:24:17  146329660
>>146301513 (OP)
Rust

Своеобразный язык, но неплохое совпадение по пунктам %)
> +++ наличие универсальных указателей на функциюна метод
есть
> +++ возможность вызова функции/метода по имени
Не очень понятно, имеется в виду возможность хранить указатель на функцию на стеке в каком-нибудь хэшмепе? На расте делается просто.
> +++ полноценное ооп, хорошая производительность
Тут минус, используется система типов родственная хаскелю, имхо очень классная, но ни разу не ООП точно
> ++ возможность передать в функцию, требующую определённое количество однотипный элементов, диапазон из массива
Да, с любого массива можно взять т.н. слайс, указатель на начало и конец среза с массива
> ++ функции с переменным числом параметров
К великому сожалению нет, хотя наверняка должна быть поддержка для C FFI
> ++ синтаксис, схожий с с++
Имхо плюс-минус
> ++ лёгкая интеграция с другими языками программирования
Да, так как нет сборки мусора. Код даже может дергаться из C/C++
> + наличие встроенной библиотеки шаблонов
Именно плюсовых шаблонов тут нет, есть НОРМАЛЬНЫЕ макросы, а не препроцессор C, и синтаксические расширения времени компиляции, но они пока не доехали до стабильной ветки. Местные дженерики напоминают тайп-классы к хаскелле
> + наличие простых графических библиотек
Бинлинги к SDL точно есть, с GUI вроде жопа
> + многофункциональная среда для языка
???
> + подключаемый сборщик мусора
Rust основан на концепции времени жизни объектов (lefetimes - аналог RAII, так же концепция заимствований, про это лучше почитать отдельно, очень интересная тема)
Этот подход почти отметает необходимость в сборке мусора, однако заметно усложняет написание кода, особенно на начальном этапе.
Однако, если язык интегрируется с языком со сборкой мусора, то можно сделать так, чтобы определенные объекты собирались этим самым сборщиком мусора.
> - динамическая типизация
Статическая, сильная, во многом похожа на хаскельную, если проникнешься, велик шанс что на типизацию в плюсах будешь смотреть, как на говно
> -- отсутствие каких-либо фич из с++
Каких-либо прямых заимствований тупо из плюсов вроде нет, есть, правда, довольно много синтаксического сахара и заимствований из языков высокого уровня (при этом оверхед стараются держать в идеале на нуле или очень небольшой), и вообще код на расте выглядит более высокоуровневым, чем плюсовый
> --- неуправляемый сборщик мусора
Точно нет, старые добрые стек и куча %)
Аноним 09/02/17 Чтв 00:25:44  146329756
267px-Khovansky.jpg (13Кб, 267x290)
>>146301513 (OP)
Русский.
Аноним 09/02/17 Чтв 00:27:33  146329862
>>146301513 (OP)
>-- отсутствие каких-либо фич из с++
>--- неуправляемый сборщик мусора

очевидно. советую тебе C++
Аноним 09/02/17 Чтв 00:29:17  146329986
>>146329660
На расте многое делается не как в С, там надо переучиваться.
Аноним 09/02/17 Чтв 00:32:51  146330200
>>146329986
Что есть, то есть. Язык ИМХО хороший, но новых концепций много, а концепция лайфтаймов и заимствований с гарантиями времени компиляции без рантайм-оверхеда вообще уникальная.
Аноним 09/02/17 Чтв 00:39:13  146330574
>>146301513 (OP)
ABAP
Аноним 09/02/17 Чтв 00:40:49  146330675
Ананасы, как фрилансить с с++? Че еще знать надо к нему?
Аноним 09/02/17 Чтв 00:41:29  146330723
bTRzJ4Lho8.jpg (172Кб, 1098x1074)
>>146330675
Никак, пиздуй в энтерпрайз.
Аноним 09/02/17 Чтв 00:50:40  146331306
>>146303658
Но ведь можно срать не снимая свитер
>>146304654
Да что не так со свитром?
Аноним 09/02/17 Чтв 01:07:29  146332340
>>146304551
Скажем так, есть аналог класса - struct и аналог абстрактного класса родителя при наследовании? - trate (типаж), методы могут добавляться как к тому так и другому, если добавляются к struct'у, то это аналог собственного метода у класса, от которого никто не наследуется, если к типажу - то это аналог интерфейса в жабе. Наследования нет, вместо того, чтобы описывать кто от кого унаследовался, ты подбираешь к каким страктам подходят какие типажи. Например тупой пример ты не создаешь тип Number и наследуешь от него Int, Uint, Float, а сразу создаешь Int, Uint, Float и говоришь, что Int и Uint удовлетворяют типажу Eq, так как если тебе дать два целых числа, ты однозначно можешь сказать их соотношение - больше, меньше или равно. А вот Float этому типажу увы не соответствует, так как среди допустимых значение есть NaN, который не равен даже самому себе и вообще полная НЁХ. В стандартной библиотеке раста есть типаж для этого PartialEq https://doc.rust-lang.org/std/cmp/trait.PartialEq.html

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

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 207 | 11 | 46
Назад Вверх Каталог Обновить

Топ тредов
Избранное