Re[8]: Хочется выучить такой язык программирования
От: SkyDance Земля  
Дата: 04.08.23 20:40
Оценка: +1 -1
N>При чем здесь древность я не понял.

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

N>На чем ее можно написать? Только на плюсах, ну может на Rust-e. Если под низкоуровневостью понимается отсутствие gc, то да это тоже важно.


Не только и не столько отсутствие GC, сколько отсутствие сложных runtime компонентов. Нет ни виртуальной машины, ни развитой стандартной библиотеки, ни всяких других полезных штуковин типа менеджера зависимостей. Это именно что низкоуровневый язык для написания системных библиотек, притом весьма устаревший. Писать сколь-нибудь высокоуровневый код (и тем более продукты и сервисы) на нем нет смысла.
Re[9]: Хочется выучить такой язык программирования
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 05.08.23 06:44
Оценка: +1
Здравствуйте, SkyDance, Вы писали:

SD>Не только и не столько отсутствие GC, сколько отсутствие сложных runtime компонентов. Нет ни виртуальной машины, ни развитой стандартной библиотеки, ни всяких других полезных штуковин типа менеджера зависимостей. Это именно что низкоуровневый язык для написания системных библиотек, притом весьма устаревший. Писать сколь-нибудь высокоуровневый код (и тем более продукты и сервисы) на нем нет смысла.


А ещё для плюсов есть стандарты. Для С тоже есть, что-то на нем пишут, но больше конечное ПО, а не библиотеки.
По факту на плюсах пишут новое системное ПО и пока альтернативы не видно. На С получается хуже: многословно, нет стольких удобных абстракций. Мне кажется, что большие данные, нейросети и edge вычисления привели к большому подъему C++, на нем стали писать кучу системного ПО и библиотек. Не сказать, что раньше этого не делали, но прямо таки волна нового пошла. В этой области ни С, ни Rust я даже под микроскопом не вижу.
Re: Хочется выучить такой язык программирования
От: Разраб  
Дата: 06.08.23 14:16
Оценка:
Здравствуйте, Mihal9, Вы писали:

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


Ну что, выбрали?
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[4]: Хочется выучить такой язык программирования
От: Sharov Россия  
Дата: 07.08.23 08:27
Оценка:
Здравствуйте, Serginio1, Вы писали:

S>Здравствуйте, Разраб, Вы писали:


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

S>>> Знакомиться нужно со всеми языками. Ничего принципиально нового ни в одном новом языке нет.
S>>> Есть фичи собранные из разных языков и выкинуты анахронизмы.

Р>>Тут есть два момента, которые следует учесть:

Р>>1. когда переключаешься на другой яп неизбежно возникает когнитивный диссонанс из-за отличий в синтаксисе.
Р>>2. возникает мешающее сосредоточиться на решении проблемы желание воспользоваться "лучшим" ЯП.
S> У меня был момент когда я сразу использовал 5 языков 1С,C#,C++, TypeScript и JS вкупе с ангуларом

Это скорее всего задачи уровня "json туда, json обратно". Навряд ли также будет легко переключаться между C# и ts и js
при написании большой нетривиальной логики типа софтового рендерера или что-то в этом роде. А так, прочитал из базы
на шарпе, прокинул в json, на клиенте с помощью ts/js прочитал, проваледировал, сделал какой-нибудь binding.
Не очень сложно.
Кодом людям нужно помогать!
Re[8]: Хочется выучить такой язык программирования
От: Sharov Россия  
Дата: 07.08.23 08:30
Оценка: +1
Здравствуйте, novitk, Вы писали:

N>Здравствуйте, SkyDance, Вы писали:


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

N>При чем здесь древность я не понял. Тебе сегодня нужно написать новую библиотеку, которую надо будет использовать в разных экосистемах, например как tflow.
N>На чем ее можно написать? Только на плюсах, ну может на Rust-e. Если под низкоуровневостью понимается отсутствие gc, то да это тоже важно.

На чистых сях, очевидно. Зачем для этого плюсы, если это сугубо узкоспециализированная библиотека, где особо абстракциями растекаться не надо -- я
Кодом людям нужно помогать!
Re[6]: Хочется выучить такой язык программирования
От: Sharov Россия  
Дата: 07.08.23 08:33
Оценка:
Здравствуйте, novitk, Вы писали:

N>Здравствуйте, SkyDance, Вы писали:


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

N>Даже вне легасу и числодробилок C++ безальтернативен для "фундаментальных" библиотек. Нет пока другого языка где можно написать библиотеку и относительно просто интегрировать ее во все возможное (jvm,python,.net и т.д).

Язык Си, вестимо. Все "фундаментальные" библиотеки на нем всегда написаны.
Кодом людям нужно помогать!
Re[2]: Каких программ вам не хватает?
От: Sharov Россия  
Дата: 07.08.23 08:34
Оценка:
Здравствуйте, Miroff, Вы писали:

M>Julia — спецов нет, будущее огромно, для выскокопродуктивных (производительность программиста) и высокопроизводительных (производительность кода) научных и инженерных вычислений альтернативы просто нет. С++ дочень дорог в разработке и поддержке, а Python тормозной.


Тормозной питон использует обертки для вызова си кода в соотв. библиотеках.
Кодом людям нужно помогать!
Re[5]: Хочется выучить такой язык программирования
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 07.08.23 08:40
Оценка:
Здравствуйте, Sharov, Вы писали:

Р>>>Тут есть два момента, которые следует учесть:

Р>>>1. когда переключаешься на другой яп неизбежно возникает когнитивный диссонанс из-за отличий в синтаксисе.
Р>>>2. возникает мешающее сосредоточиться на решении проблемы желание воспользоваться "лучшим" ЯП.
S>> У меня был момент когда я сразу использовал 5 языков 1С,C#,C++, TypeScript и JS вкупе с ангуларом

S>Это скорее всего задачи уровня "json туда, json обратно". Навряд ли также будет легко переключаться между C# и ts и js

S>при написании большой нетривиальной логики типа софтового рендерера или что-то в этом роде. А так, прочитал из базы
S>на шарпе, прокинул в json, на клиенте с помощью ts/js прочитал, проваледировал, сделал какой-нибудь binding.
S>Не очень сложно.

Это было для написания
CEF, ES6, Angular 2, TypeScript использование классов .Net Core. Создание кроссплатформенного GUI для .Net с помощью CE
CEF, Angular 2 использование событий классов .Net Core
и солнце б утром не вставало, когда бы не было меня
Re[6]: Хочется выучить такой язык программирования
От: rudzuk  
Дата: 07.08.23 09:02
Оценка:
Здравствуйте, novitk, Вы писали:

n> Даже вне легасу и числодробилок C++ безальтернативен для "фундаментальных" библиотек. Нет пока другого языка где можно написать библиотеку и относительно просто интегрировать ее во все возможное (jvm,python,.net и т.д).


Delphi, Free Pascal
avalon/3.0.2
Re[9]: Хочется выучить такой язык программирования
От: novitk США  
Дата: 07.08.23 12:10
Оценка: +1
Здравствуйте, Sharov, Вы писали:

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


На чистых сях библиотеки давно не пишут. Чуть менее чем все на плюсах: qt, pytorch, opencv, llvm, etc. Поэтому и набор инструментария для wrapping такой богатый.
Re[7]: Хочется выучить такой язык программирования
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 07.08.23 12:22
Оценка: 1 (1)
Здравствуйте, Sharov, Вы писали:

S>Язык Си, вестимо. Все "фундаментальные" библиотеки на нем всегда написаны.


Ну, далеко не все. Современные пишут уже на С++. Линейная алгебра вообще на Фортране сидит.

AlexeyAB, который развивает форк Darknet, написанный на С уже до него написал пару статей (раз и два), в которых рассказывает, почему С++ лучше. Подобных статей и рассказов можно найти ещё, у Антона Полухина видел, например. Суть в том, что на плюсах за счёт абстракций времени компиляции можно писать и более краткий, и одновременно более быстрый код. Кажется, что у С есть только одно преимущество — для неспециалиста код на нём читается и пишется легче. Но мы же о фундаментальных библиотеках говорим, зачем там авторы-новички?
Re[7]: Хочется выучить такой язык программирования
От: novitk США  
Дата: 07.08.23 12:45
Оценка:
Здравствуйте, Sharov, Вы писали:

S>Язык Си, вестимо. Все "фундаментальные" библиотеки на нем всегда написаны.


Не знаю ни одной библиотеки после gtk на C. Назови хоть одну.
Re[3]: Каких программ вам не хватает?
От: novitk США  
Дата: 07.08.23 13:03
Оценка:
Здравствуйте, Sharov, Вы писали:

S>Тормозной питон использует обертки для вызова си кода в соотв. библиотеках.

Это очень большая проблема. К тому же плюсы низкоуровневы и приходится все переписывать по нескольку раз под различные тензорные железяки/API, которого стало жутко много. Поэтому и Julia(или Моjo, хотя это имхо "палки в колеса").
Отредактировано 07.08.2023 14:16 novitk . Предыдущая версия . Еще …
Отредактировано 07.08.2023 13:04 novitk . Предыдущая версия .
Re[7]: Хочется выучить такой язык программирования
От: novitk США  
Дата: 07.08.23 14:16
Оценка:
Здравствуйте, rudzuk, Вы писали:

R>Delphi, Free Pascal

Ну тогда уж Rust. На нем все-таки есть наблюдаемые артефакты.
Re[4]: Каких программ вам не хватает?
От: Sharov Россия  
Дата: 07.08.23 16:11
Оценка:
Здравствуйте, novitk, Вы писали:

N>Здравствуйте, Sharov, Вы писали:


S>>Тормозной питон использует обертки для вызова си кода в соотв. библиотеках.

N>Это очень большая проблема. К тому же плюсы низкоуровневы и приходится все переписывать по нескольку раз под различные тензорные железяки/API, которого стало жутко много. Поэтому и Julia(или Моjo, хотя это имхо "палки в колеса").

1)О каких плюсах речь, если я про Си?
2)Что может быть более кроссплатформенное, чем Си? И как Julia помогает не переписывать все по нескольку раз? По идее есть одна либа, которая
предоставляет api к железу, вот она может меняться и, наверное, часто. Остальные клиенты этой библиотеки, в том числе питон, могут
про эти изменения вообще ничего не знать. Хотя это не точно.
Кодом людям нужно помогать!
Re[8]: Хочется выучить такой язык программирования
От: Sharov Россия  
Дата: 07.08.23 16:22
Оценка: +1
Здравствуйте, novitk, Вы писали:

S>>Язык Си, вестимо. Все "фундаментальные" библиотеки на нем всегда написаны.

N>Не знаю ни одной библиотеки после gtk на C. Назови хоть одну.

Вот сейчас работаю с видео -- и gstreamer и ffmpeg написаны на чистых сях.
Далее, numpy... хотя вот же список для просвещения -- https://notabug.org/mazurov/awesome-c
Скорее удивительно, что pytorch не на сях написан. Все-таки, вероятно, есть какая-то разница между библиотекой
и фреймворком. Если библиотека это бери и пользуйся, то тут Си, если фреймворк, нечто большее и предоставляющее высокоуровневые
абстракции (что кстати актуально для torch'а и DL в целом), то тут все же плюсы более уместные. Т.е. да, логично что torch и иже
с ним на плюсах, иначе как использовать все эти абстракции на си --
Кодом людям нужно помогать!
Re[10]: Хочется выучить такой язык программирования
От: SkyDance Земля  
Дата: 07.08.23 16:53
Оценка: :)
N>Мне кажется, что большие данные, нейросети и edge вычисления привели к большому подъему C++, на нем стали писать кучу системного ПО и библиотек. Не сказать, что раньше этого не делали, но прямо таки волна нового пошла. В этой области ни С, ни Rust я даже под микроскопом не вижу.

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

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

Не знаю, надолго ли такого запала хватит, да и знать не хочу. Но мне это выгодно — чем дольше другие пользуются каменными топорами, тем легче будет тем, кто освоил более современные орудия труда. Так что, пусть С++ и далее живет и пахнет
Re[9]: Хочется выучить такой язык программирования
От: novitk США  
Дата: 07.08.23 18:27
Оценка:
Здравствуйте, Sharov, Вы писали:

S>Вот сейчас работаю с видео -- и gstreamer и ffmpeg написаны на чистых сях.

S>Далее, numpy... хотя вот же список для просвещения -- https://notabug.org/mazurov/awesome-c
"лихие 90-е" как и gtk, 20y+ Ты еще LAPACK вспомни.

S>Если библиотека это бери и пользуйся, то тут Си, если фреймворк, нечто большее и предоставляющее высокоуровневые

S>абстракции (что кстати актуально для torch'а и DL в целом)
имхо грань не качественная, а количественная. Нет библиотеки, которая не хочет стать фреймворком.

S>с ним на плюсах, иначе как использовать все эти абстракции на си --

Единственнoe преимущество у C над C++ — ABI проще. все остальное хуже.
Отредактировано 07.08.2023 18:44 novitk . Предыдущая версия .
Re[5]: Каких программ вам не хватает?
От: novitk США  
Дата: 07.08.23 18:39
Оценка:
Здравствуйте, Sharov, Вы писали:

S>1)О каких плюсах речь, если я про Си?

На C все еще хуже без шаблонов. Посмотру на мат библиотеки типа NAG, там копипаста через борт.

S>2)Что может быть более кроссплатформенное, чем Си?

Речь идет о легкости с которой можно перенести тензорный алгоритм на специальные архитектуры(GPU и специальные процессоры) в стиле jax/pytorch/tflow.
Нужно очень приличное метапрограммирование: доступ к all stages of compilation pipeline, LLVM, etc. В общем это все не про C/C++.
https://www.youtube.com/watch?v=pdJQ8iVTwj8
Отредактировано 08.08.2023 20:21 novitk . Предыдущая версия .
Re[10]: Хочется выучить такой язык программирования
От: Sharov Россия  
Дата: 07.08.23 20:39
Оценка:
Здравствуйте, novitk, Вы писали:

S>>Вот сейчас работаю с видео -- и gstreamer и ffmpeg написаны на чистых сях.

S>>Далее, numpy... хотя вот же список для просвещения -- https://notabug.org/mazurov/awesome-c
N>"лихие 90-е" как и gtk, 20y+ Ты еще LAPACK вспомни.

Ога и они их успешно пережели, что как бэ показательно.

S>>Если библиотека это бери и пользуйся, то тут Си, если фреймворк, нечто большее и предоставляющее высокоуровневые

S>>абстракции (что кстати актуально для torch'а и DL в целом)
N>имхо грань не качественная, а количественная. Нет библиотеки, которая не хочет стать фреймворком.

Полно библиотек-функций -- что-то такое нетривиальное сделать, получив указатель на память и параметры.
И опять -- бд почему-то игнорируются.
Кодом людям нужно помогать!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.