LINUX.ORG.RU

Подскажите перспективный ЯП, которому требуются батарейки

 , , , ,


0

6

Хочу уделить время написанию полезных библиотек (парсеры популярных форматов, http серверы, вебсокеты или что-то подобное). Для какого-нибудь ЯП, где от этого будет польза.

Ответ на: комментарий от RazrFalcon

Куча проектов прячут голову в песок не замечая, что стандартная и сторонние библиотеки и языковые средства кидают исключения (читайте доки) в случае, если что-то пошло не так. А что там будет происходить когда библиотека хочет кинуть исключения, а исключения в самой программе выключены - да ничего хорошего.

dzidzitop ★★
()
Ответ на: комментарий от eao197

но вот fn вместо func или function, а так же mut вместо mutable — что же это еще, как не экономия на спичках? Или i32 вместо int32.

скорее что i32/u32 - integer/unsigned integer, а не s32/u32 - signed/unsigned

fn/mut - нормально, за function и mutable их бы повесили. В основном за mutable.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от RazrFalcon

Почему не integer32? Или signed integer 32bit?

Потому-что i32 - крайность в краткости записи, а signed integer 32bit - крайность в ее полноте.

anonymous
()
Ответ на: комментарий от Dark_SavanT

fn/mut - нормально, за function и mutable их бы повесили. В основном за mutable.

mut - да, а fn логичнее было бы сделать func или fun, по аналогии с mut же.

anonymous
()
Ответ на: комментарий от anonymous

В то время, как люди, которым было нужно, выучили синтаксис Раста и пишут на нём, люди, которым это не нужно, критикуют синтаксис Раста.

Virtuos86 ★★★★★
()
Ответ на: комментарий от Dark_SavanT

Чем бы он ни был, по числу вакансий в России на сайте «Яндекс работа» со словом «программист X» больше всего вакансий для X = 1С.

den73 ★★★★★
()
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от Virtuos86

В то время, как люди, которым было нужно, выучили синтаксис Раста и пишут на нём, люди, которым это не нужно, критикуют синтаксис Раста.

Ты бредишь. Можно выучить и писать, но при этом еще и критиковать.

anonymous
()
Ответ на: комментарий от den73

А кому лень самому проверять, или кто не готов принять правду из рук такой одиозной личности, как я, вы можете прочитать об этом на заслуживающем доверия Хабре:

https://habrahabr.ru/company/hh/blog/318450/

А где же 1С, спросите вы? В табличку не включили, но если интересно, то все неплохо: 2015 — 9 473, 2016 — 13 735. Прирост: 45%. В абсолютных цифрах — самый востребованный язык.

den73 ★★★★★
()
Ответ на: комментарий от anonymous

Мудрый человек сказал: если можешь что-то изменить — меняй, а если не можешь — смирись, а не прожигай стул. Ты можешь поменять синтаксис Раста?

Virtuos86 ★★★★★
()
Ответ на: комментарий от anonymous

Какие форумы? Где нетерпимой школоты поменьше? Может быть. А вы критикуйте дальше количество символов в кейвордах.

Virtuos86 ★★★★★
()
Ответ на: комментарий от Virtuos86

Где нетерпимой школоты поменьше?

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

в кейвордах.

В ключевых словах.

anonymous
()
Ответ на: комментарий от RazrFalcon

Это не обсуждение, а набрасывание.

Нет, сейчас ты пытаешься уйти от очевидного факта, - многим действительно не нравится как выглядит код на Rust. И обсуждение этого вполне нормально, если только ты не фанатик.

anonymous
()
Ответ на: комментарий от anonymous

Где нетерпимой школоты поменьше?

Где побольше неадекватных личностей, вроде тебя.

Лоровский анонимус обвиняет кого-то в неадеквате — очень смешно. Ответной любезностью ответить не могу, анонимусы слишком жалки, чтобы зарегистрироваться здесь, и о них можно было составить хоть какое-то мнение.

проблема в тебе, а не в других

Похоже, тебе тоже надо на более другие форумы.

Ещё раз — для чего предназначена критика, от которой нет толку? Так собака на цепи брешит на прохожих, которые просто идут мимо, а не направляются во двор к дому, где она привязана. Исключительно чтобы подрать глотку.

Virtuos86 ★★★★★
()
Ответ на: комментарий от RazrFalcon

Они обсуждают синтаксис ЯП, на котором не собираются писать. Очевидно, что если писать на нем, то привыкнешь к синтаксису. А так да, раз в неделю увидел «fn» и подгорает сразу.

Virtuos86 ★★★★★
()
Ответ на: комментарий от RazrFalcon

Это вкусовщина.

Для очень многих именно вкусовщина становится причиной выбора между Perl, Python и Ruby. Так что важный фактор при наличии альтернатив.

Почему не integer32? Или signed integer 32bit?

Меня, как попрограммировавшему на Pascal и, немного, на Eiffel, записью integer или INTEGER_32 не удивить и не напугать.

А вот i32 на имя типа в моем понимании никак не тянет. Возможно, потому, что мне доводилось копаться в коде математиков, там i, ii, i2, i22, i32 — это вполне себе рядовое явление (причем i22 и i32 могут означать не порядковые номера переменных, а значения элементов из небольших матриц, скажем i22 — это элемент x[2,2] из матрицы размером 3x3).

signed integer 32bit — это уже другая крайность, такая же, как и i32.

eao197 ★★★★★
()
Ответ на: комментарий от eao197

Какое-то признание в подверженности синдрому утёнка. Попограммируйте на Расте, и перестанут пугать i32, f64 и иже с ними.

Virtuos86 ★★★★★
()
Ответ на: комментарий от eao197

С Ruby понаслышке знаком с десяток лет. Для питониста выглядит как немного причудливая форма Питона, но это чисто внешне, внутренности и привычки программирования там совсем другие. Какашками в него никогда не кидался. ЧЯДНТ?

Virtuos86 ★★★★★
()
Ответ на: комментарий от Virtuos86

Попограммируйте на Расте, и перестанут пугать i32, f64 и иже с ними.

То, что они перестанут пугать не отменит факта того, что это говно.

Вот тот же C++ взять, в котором трехэтажные декларации шаблонных функций с SFINAE на std::enable_if. Работает? Работает. Говно? Говно.

Только фанбои C++ могут это признать. А фанбои Rust-а — нет. Хотя сидромом утенка скорее страдают те, кто кроме Rust-а видел только ущербный вариант C++ или вообще какой-нибудь Delphi. И все.

eao197 ★★★★★
()
Ответ на: комментарий от Virtuos86

Лоровский анонимус обвиняет кого-то в неадеквате — очень смешно

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

Ещё раз — для чего предназначена критика, от которой нет толку?

А какой толк от тебя? Ты ведь вообще в такие топики чисто пофлудить заходишь.

anonymous
()
Ответ на: комментарий от eao197

Для очень многих именно вкусовщина становится причиной выбора между Perl, Python и Ruby.

О_о Так мы тут о блондинках в состоянии ТП печемся, или треплемся на [около]технические темы?

yyk ★★★★★
()
Ответ на: комментарий от Virtuos86

Они обсуждают синтаксис ЯП, на котором не собираются писать

Зачем ты врешь, я уже пишу. А вот ты - не факт.

Очевидно, что если писать на нем, то привыкнешь к синтаксису.

Нет, точно так же как не привыкаешь к многословности Java, или к примитивности С, или к ограничениям и граблям в С++.

anonymous
()
Ответ на: комментарий от anonymous

Нет, точно так же как не привыкаешь к многословности Java, или к примитивности С, или к ограничениям и граблям в С++.

Т.е. те, кто говорят что привыкли, нагло врут?.. ))

yyk ★★★★★
()
Последнее исправление: yyk (всего исправлений: 1)
Ответ на: комментарий от eao197

Вот тот же C++ взять, в котором трехэтажные декларации шаблонных функций с SFINAE на std::enable_if. Работает? Работает. Говно? Говно.

Проблема в том, что по вашим утверждениям в Расте выглядят, как говно, даже базовые типы, а не какие-то трехэтажные портянки, а я с этим не согласен. Не может i32 выглядеть говном. Вот &str похоже на говно, особенно в форме 'static str, но когда узнаешь про срезы&str это строковый срез), это становится логичным говном, логичным и консистентным, безо всякого «сахара», который можно было бы навернуть сверху, чтобы базовый и широкоупотребимый тип выглядел «покрасивше». Но для этого же нужно разбираться, углубляться в тонкости языка. А так — говно, и всё тут, баста карапузики.

Virtuos86 ★★★★★
()
Ответ на: комментарий от yyk

Т.е. те, кто говорят, что привыкли, нагло врут?.. ))

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

anonymous
()
Ответ на: комментарий от Virtuos86

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

Ну что ж поделать, если авторам Rust-а влом было использовать уже привычные к тому времени int32, uint32 и иже с ними?

а не какие-то трехэтажные портянки

Ну как раз осмысленность трехэтажных портянок можно объяснить. В отличии от i32 и fn.

А так — говно, и всё тут, баста карапузики.

Ну вот так оно и обстоит. Смиритесь.

С++никам приходится жить с криками «закопайте уже C++» от людей, которые С++ никогда не видели. Rust-оманам тоже придется страдать :)

eao197 ★★★★★
()
Ответ на: комментарий от anonymous

Лоровский анонимус обвиняет кого-то в неадеквате — очень смешно

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

Будет, согласен. Но ты ли это будеш, аноним? А если и ты, то как это проверить? Никак. Поэтому с успехом можно считать, что тебя и не было, нет и никогда не будет на ЛОР'е. А я — был и есть, а может еще и буду. Так что я уже в более привилегированном положении.

Ещё раз — для чего предназначена критика, от которой нет толку?

А какой толк от тебя? Ты ведь вообще в такие топики чисто пофлудить заходишь.

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

Virtuos86 ★★★★★
()
Ответ на: комментарий от yyk

Удобство языка программирования (в том числе и синтаксиса) вполне себе околотехническая тема. В свое время сам выбрал Ruby, а не Python из-за синтаксиса Ruby-овых блоков кода (и, как следствие, удобства записи в Ruby многострочных лямбда-функций). При том, что по остальным параметрам Python был бы более предпочтительным.

eao197 ★★★★★
()
Ответ на: комментарий от eao197

Ну как раз осмысленность трехэтажных портянок можно объяснить.

Примитивностью и невыразительностью языка. Хотя понемногу становится лучше, тот же constexpr if из С++17 позволяет убрать часть портянок и сделать код читабельней.

anonymous
()
Ответ на: комментарий от anonymous

Они обсуждают синтаксис ЯП, на котором не собираются писать

Зачем ты врешь, я уже пишу. А вот ты - не факт.

Для меня программирование хобби. Для удовольствия — пишу, и на Rust в том числе.

Очевидно, что если писать на нем, то привыкнешь к синтаксису.

Нет, точно так же как не привыкаешь к многословности Java, или к примитивности С, или к ограничениям и граблям в С++.

ЯННП, вас на работе заставляют писать на Расте в продакшен? Или для чего этот мазохизм: не нравится инструмент — но использую его? Выберите то, что по вкусу, Раст не уникален, есть и другие ЯП в его нише. Зачем страдать?

Virtuos86 ★★★★★
()
Ответ на: комментарий от Virtuos86

ЯННП, вас на работе заставляют писать на Расте в продакшен?

Меня никто не заставляет, это я решаю кто, что и на чем пишет.

Зачем страдать?

Любой выбор - в том числе выбор недостатков. Нужно их тоже оценивать.

anonymous
()

В Red-lang пока еще нет нормальных библиотек для работы с сетью.

uralbash
()
Ответ на: комментарий от Virtuos86

Раст не уникален, есть и другие ЯП в его нише. Зачем страдать?

Вообще-то уникален. Это первый современный язык без GC, который может жить там же, где и C/C++, но при этом:

a) декларирует большую безопасность;

b) изначально содержит определенные вкусности из функциональных языков, которые уже доказали свою полезность (АлгТД, паттерн-матчинг и лямбды);

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

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

eao197 ★★★★★
()
Ответ на: комментарий от eao197

Ну что ж поделать, если авторам Rust-а влом было использовать уже привычные к тому времени int32, uint32 и иже с ними?

Это кому они привычные? Я к ним совсем не привычен. Как для непривычного, мне i32 и u32 кажутся как раз логичным сокращением int32 и uint32, так же как и fn — сокращение fun. Видите, прослеживается система, а там где имеет место быть система, имеет смысл критиковать не частные случаи её проявления, а её саму. Так и пишите, что не нравится сокращательство в naming things в Rust, а не придирайтесь к злополучным i32.

Ну вот так оно и обстоит. Смиритесь.
С++никам приходится жить с криками «закопайте уже C++» от людей, которые С++ никогда не видели. Rust-оманам тоже придется страдать :)

Я смирился. Понял и простил. Но пофлудить-то хочется.

Virtuos86 ★★★★★
()
Ответ на: комментарий от Virtuos86

Это кому они привычные?

Тем, кому приходилось писать переносимый софт на C или C++. Ну или хотя бы иметь дело с бинарными протоколами передачи данных.

Так и пишите, что не нравится сокращательство в naming things в Rust, а не придирайтесь к злополучным i32.

Так об этом и пишу. i32 просто как один из примеров.

eao197 ★★★★★
()
Ответ на: комментарий от anonymous

Видимо, у нас разное мировоззрение. Здесь никакая аргументация с обеих сторон не приведет к итоговому консенсусу. А просто ругаться мне не интересно.

Virtuos86 ★★★★★
()
Ответ на: комментарий от dzidzitop

Для примера: http://en.cppreference.com/w/cpp/container/vector/vector секция Exceptions.

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

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

annulen ★★★★★
()
Ответ на: комментарий от eao197

В свое время сам выбрал Ruby, а не Python из-за синтаксиса Ruby-овых блоков кода (и, как следствие, удобства записи в Ruby многострочных лямбда-функций).

Т.е. на тормоза и батарейки было насрать, только синтаксис блоков определил выбор?

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

yyk ★★★★★
()
Ответ на: комментарий от eao197

Отсутствие ООП убивает перспективы Раста только в области построения GUI.
Я, кстати, для себя недавно осознал, что самая классная парадигма — структурное программирование. Если ЯП её поддерживает, ему можно обучить кого угодно. И проще всего освоить новый язык именно научившись на нём программировать, используя структурное программирование. Я так на Javascript пишу. Знаю только основы, но этого хватает. Оффтоп, конечно.

Virtuos86 ★★★★★
()
Ответ на: комментарий от yyk

Т.е. на тормоза и батарейки было насрать, только синтаксис блоков определил выбор?

При выборе динамического языка программирования на тормоза насрать в принципе. Особенно, если динамический ЯП идет в дополнение к C++ или даже к Java/C#.

Синтаксис блоков очень хорош для DSL-естроения. Для чего Ruby и нужен был.

eao197 ★★★★★
()
Ответ на: комментарий от Virtuos86

Отсутствие ООП убивает перспективы Раста только в области построения GUI.

Говорят, что не только.

Я, кстати, для себя недавно осознал, что самая классная парадигма — структурное программирование

Как по мне, так развитие шло следующим образом: программирование с goto и глобальными переменными (начиная машкодов, затем к ассемблерам и, затем, к Fortran-у) --> структурное программирование (Алгол) --> модульное программирование --> объектно-ориентированное программирование.

Т.е. ООП ничуть не противоречит и не отвергает структурное, а развивает его.

eao197 ★★★★★
()
Ответ на: комментарий от eao197

Поменьше бы апломба в виде кванторов всеобщности, тут-же ограничиваемых (сиречь опровергаемых) условиями («особенно») - и можно было бы общаться. Это по форме. По сути - принимается.

yyk ★★★★★
()
Ответ на: комментарий от yyk

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

Ну вы расскажите, что вам не понравилось. А то я как-то в растерянности, вроде все рассказываю как есть, а вы какой-то апломб видите...

Например, в свое время довелось написать небольшую программулину по сбору данных из текстовых файлов для дальнейшего импорта этих данных в РСУБД. На Ruby. За несколько лет объем данных вырос так, что программа на Ruby за сутки непрерывной работы не успевала перемолоть то, что за эти же сутки накапливалось в обрабатываемых файлах.

Тормоза были вовсе не в чтении и парсинге данных (тут как раз отлично справлялись написанные на C куски Ruby-новой stdlib), а в их обработке согласно прикладной логике, преобразовании данных в надлежащий для записи в БД вид и взаимодействие с БД (все это было на чистом Ruby).

Переписали все это на C++, время обработки сократилось до 5-10 минут. Даже если предположить, что Python был бы в 10 раз быстрее Ruby, то вариант на Python-е все равно бы работал больше 2-х часов, а не 10 минут.

Отсюда и отдельно про «особенно».

eao197 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.