Каковы будут позиции языков к 2025 году? Я думаю, что:
С++ рулит (стандарты 17, 19, 20, 20.5, ... 25) — но концепты все еще не работают
Java рулит тоже (куда она денется)
Rust похоронен в 2017 (оказалось, что с++17 быстрее и удобнее)
Haskell все еще используется (только в Standard Chartered)
Perl все еще жив
про .net не знаю (я и сейчас не знаю ничего)
Здравствуйте, kurchatov, Вы писали:
K>Каковы будут позиции языков к 2025 году? Я думаю, что:
K>С++ рулит (стандарты 17, 19, 20, 20.5, ... 25) — но концепты все еще не работают K>Java рулит тоже (куда она денется) K>Rust похоронен в 2017 (оказалось, что с++17 быстрее и удобнее) K>Haskell все еще используется (только в Standard Chartered) K>Perl все еще жив
...и всё, написанное на этих языках, транслируется в JavaScript и исполняется в таком виде
Здравствуйте, dr. Acula, Вы писали:
DA>одмины, наверно, строчат, не?
Не знаю, потому и спрашиваю. Может и строчат, хотя скриптовых языков и без него полно. DA>ну, чтобы не уволили, а если уволят — чтобы погрустили.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Здравствуйте, kurchatov, Вы писали:
K>Каковы будут позиции языков к 2025 году? Я думаю, что:
K>С++ рулит (стандарты 17, 19, 20, 20.5, ... 25) — но концепты все еще не работают K>Java рулит тоже (куда она денется) K>Rust похоронен в 2017 (оказалось, что с++17 быстрее и удобнее) K>Haskell все еще используется (только в Standard Chartered) K>Perl все еще жив K>про .net не знаю (я и сейчас не знаю ничего)
Дельфи похоронили ещё в 2001(скоро выйдет XE8), дот-нет в 2005(дожил таки), С++ собирались хоронить рядом с дельфи, доллар говорили лопнет в 2003(лопнуло всё, кроме доллара).
Неблагодарное это дело — предсказывать...
Здравствуйте, kurchatov, Вы писали:
K>Каковы будут позиции языков к 2025 году? Я думаю, что:
в 2025ом году удачливые программисты будут работать таксистами, а менее удачливые — дворниками.
их бывшие заказчики, удобно развалившись в кресле с кофе и секретаршей, будут заказывать софт начиная со слов "окей, гугл".
Здравствуйте, beyv, Вы писали:
B>Дельфи похоронили ещё в 2001(скоро выйдет XE8)
XE8 может и выйдет — но сам язык — говно, большинство адекватных людей с него давно соскочили на С-образные языки (которые с {} и без var блока)
Здравствуйте, Abyx, Вы писали:
A>XE8 может и выйдет — но сам язык — говно, большинство адекватных людей с него давно соскочили на С-образные языки (которые с {} и без var блока)
Так там за дельфями билдер плетется, как раз для тех, кому паскалевский синтаксис не нравится. К тому же это уже шланг, а не старый глючный компилятор, ничего нового не поддерживающий.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Здравствуйте, Ops, Вы писали:
Ops>Здравствуйте, kurchatov, Вы писали:
K>>Perl все еще жив Ops>А он еще жив? На нем что-нибудь новое пишут? В каких областях?
А с чего б ему не жить? Что он, хужеет со временем, что ли?
Здравствуйте, Abyx, Вы писали:
A>XE8 может и выйдет — но сам язык — говно, большинство адекватных людей с него давно соскочили на С-образные языки (которые с {} и без var блока)
Вкусы разные, для меня наоборот, С-образный синтаксис — говно. Хотя писать на нем приходится.
Здравствуйте, kurchatov, Вы писали: K>Каковы будут позиции языков к 2025 году? Я думаю, что:
а как же scala? ведь в 30-50% наверное фя будут востребованы.
но картина врядли сильно изменится,
если не создатут какие нибудь экспертные системы 5GL/6GL
с которыми справится и школьник
DM>в 2025ом году удачливые программисты будут работать таксистами, а менее удачливые — дворниками. DM>их бывшие заказчики, удобно развалившись в кресле с кофе и секретаршей, будут заказывать софт начиная со слов "окей, гугл".
Году так в 1995 мне один мужик втирал, что теперь когда в электронной таблице можно обсчитывать все что угодно, программисты уже не нужны.
Жизнь не обязана доставлять удовольствие. Достаточно отсутствия страданий.
Информатика и компьютерная индустрия в 2022 году. Прогноз IEEE Computer Society.
Предсказывать будущее сложно и рискованно. Предсказывать будущее в компьютерной индустрии еще сложнее и рискованнее из-за драматических изменений в технологии и постоянных вызовов инноваций. Но лишь небольшая доля инноваций действительно нарушить состояние мира. Некоторые из них не практичны или экономически не эффективны, некоторые из них пришли раньше времени, а некоторые просто не имеют рынка.
Девять ведущих экспертов IEEE Computer объединили усилия, чтобы написать технический отчет, озаглавленный IEEE CS 2022 и обозначить направления,
которые могут изменить ландшафт информатики и промышленности к 2022 году.
Здравствуйте, AlexRK, Вы писали:
ARK>Здравствуйте, Abyx, Вы писали:
A>>XE8 может и выйдет — но сам язык — говно, большинство адекватных людей с него давно соскочили на С-образные языки (которые с {} и без var блока)
ARK>Вкусы разные, для меня наоборот, С-образный синтаксис — говно. Хотя писать на нем приходится.
При чем тут вкусы? Когда у тебя переменные надо объявлять отдельно от их использования,
тебе надо править код в двух местах а не в одном.
Также это значит что у тебя будет больше дифф, сложнее ревьювить, больше мерж-конфликтов.
Здравствуйте, Abyx, Вы писали:
ARK>>Вкусы разные, для меня наоборот, С-образный синтаксис — говно. Хотя писать на нем приходится. A>При чем тут вкусы? Когда у тебя переменные надо объявлять отдельно от их использования,
Ну, синтаксис не исчерпывается только объявлением переменных.
Кстати, в С-подобных языках поля ведь тоже объявляются "отдельно от их использования"? А в С++ так и еще круче — там аж целые классы объявляются отдельно от их использования. Это просто прекраснее некуда.
Здравствуйте, s_aa, Вы писали:
DM>>в 2025ом году удачливые программисты будут работать таксистами, а менее удачливые — дворниками. DM>>их бывшие заказчики, удобно развалившись в кресле с кофе и секретаршей, будут заказывать софт начиная со слов "окей, гугл".
_>Году так в 1995 мне один мужик втирал, что теперь когда в электронной таблице можно обсчитывать все что угодно, программисты уже не нужны.
В теории всё так и есть — если таблица будет неограниченой длины и ширины. Хоть звук и видео обрабатывай.
Здравствуйте, Ops, Вы писали:
Ops>Здравствуйте, Abyx, Вы писали:
A>>XE8 может и выйдет — но сам язык — говно, большинство адекватных людей с него давно соскочили на С-образные языки (которые с {} и без var блока)
Ops>Так там за дельфями билдер плетется, как раз для тех, кому паскалевский синтаксис не нравится. К тому же это уже шланг, а не старый глючный компилятор, ничего нового не поддерживающий.
Здравствуйте, pestis, Вы писали:
Ops>>А он еще жив? На нем что-нибудь новое пишут? В каких областях?
P>Там же где и раньше. Mail.ru и Booking.com написаны на перле.
Специально выделил. Поддержка старых проектов — это само собой, а вот что с новыми, они вообще есть?
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Здравствуйте, DreamMaker, Вы писали:
K>>Каковы будут позиции языков к 2025 году? Я думаю, что:
DM>в 2025ом году удачливые программисты будут работать таксистами,
В смысле наладчика автоматических такси?
а менее удачливые — дворниками.
Вот этих точно не автоматизаируют в 2025 году. Перспективная профессия.
_>>Году так в 1995 мне один мужик втирал, что теперь когда в электронной таблице можно обсчитывать все что угодно, программисты уже не нужны.
I>В теории всё так и есть — если таблица будет неограниченой длины и ширины. Хоть звук и видео обрабатывай.
640 * 1024 * 8 ячеек и можно нулями и единичками MSDOS эмулировать.
Жизнь не обязана доставлять удовольствие. Достаточно отсутствия страданий.
Здравствуйте, kurchatov, Вы писали:
K>Каковы будут позиции языков к 2025 году? Я думаю, что:
K>С++ рулит (стандарты 17, 19, 20, 20.5, ... 25) — но концепты все еще не работают
Это его легаси рулит, а не он сам
K>Java рулит тоже (куда она денется)
Туда, куда она катится последнее время. Вот из последних новостей: Java Runtime updater now installs ask.com toolbar
K>Rust похоронен в 2017 (оказалось, что с++17 быстрее и удобнее)
Для тех, кто не знает ничего кроме Ц++ конечно удобнее
K>Haskell все еще используется (только в Standard Chartered)
Хаскелл совершенен. Способны ли им пользоваться жалкие гомосапиенсы совершенно не важно.
K>Perl все еще жив
Это да. Программирование на шелл скриптах тоже никуда не девается.
K>про .net не знаю (я и сейчас не знаю ничего)
Сейчас оно не тонет. Думаю через 10 лет тоже не утонет.
Откуда же его [независимый суд] взять, если в нем такие же как мы? (c) VladD2
ARK>Кстати, в С-подобных языках поля ведь тоже объявляются "отдельно от их использования"?
Он имел в виду, что в паскалях переменную нельзя объявить в теле функции/процедуры (внутри BEGIN...END), а можно только "наверху" в VAR-блоке. Т. е. между объявлением и использованием могут находиться over 9000 строк кода, что типа напрягает.
Правда, товарищ скромно умалчивает, что и в "с-подобных" языках легко находятся такие же косяки — например, в яве import тоже может находиться только в шапке класса. Но, видимо, фигурные скобки и отсутствие VAR с лихвой перекрывают все недостатки.
"Больше 100кмч можно ехать на автобане в любом ряду кроме правого крайнего" (c) pik
"В германии земля в частной собственности" (c) pik
"Закрывать школы, при нулевой смертности среди детей и подростков, это верх глупости" (c) Abalak
Здравствуйте, s_aa, Вы писали:
_>>>Году так в 1995 мне один мужик втирал, что теперь когда в электронной таблице можно обсчитывать все что угодно, программисты уже не нужны.
I>>В теории всё так и есть — если таблица будет неограниченой длины и ширины. Хоть звук и видео обрабатывай.
_>640 * 1024 * 8 ячеек и можно нулями и единичками MSDOS эмулировать.
Не получится. Во первых, нужно эмулировать порты ввода-вывода, во вторых, N системных устройств, в третьих, МСДОС требует дисковую память,в четвертых, кроме 640кб МСДОС в обязательном порядке использует АП выше этой зоны, вплоть до 1мб. В частности, биос, лежит вне 640кб, да и с буфером экрана не всё просто.
Здравствуйте, Abyx, Вы писали:
A>Здравствуйте, beyv, Вы писали:
B>>Дельфи похоронили ещё в 2001(скоро выйдет XE8) A>XE8 может и выйдет — но сам язык — говно, большинство адекватных людей с него давно соскочили на С-образные языки (которые с {} и без var блока)
Да, говно, но не поэтому (не из-за var блока и не из-за скобочек).
Из-за модульной парадигмы (namespace'ов приделанных сбоку, unit vars, initialization/finaliztion), из-за наследования конструкторов, и тучи других причин масштабом поменьше.
Оно говно просто потому, что ты не сможешь сказать что выведет на экран вот такая программа:
program ThisProgramDemonstrateFuckingShitFromDephiWorld;
uses MyFuckignUnit;
begin
WriteLn('Hello from delphi hell');
end.
Всё сказанное выше — личное мнение, если не указано обратное.
Здравствуйте, wamaco, Вы писали:
W>Здравствуйте, Ops, Вы писали:
Ops>>Здравствуйте, Abyx, Вы писали:
A>>>XE8 может и выйдет — но сам язык — говно, большинство адекватных людей с него давно соскочили на С-образные языки (которые с {} и без var блока)
Ops>>Так там за дельфями билдер плетется, как раз для тех, кому паскалевский синтаксис не нравится. К тому же это уже шланг, а не старый глючный компилятор, ничего нового не поддерживающий.
W>уверен, что delphi через 10 лет будет живой!
надеюсь, что мы забудем это слово через десять лет.
Всё сказанное выше — личное мнение, если не указано обратное.
Здравствуйте, s_aa, Вы писали:
DM>>в 2025ом году удачливые программисты будут работать таксистами, а менее удачливые — дворниками. DM>>их бывшие заказчики, удобно развалившись в кресле с кофе и секретаршей, будут заказывать софт начиная со слов "окей, гугл".
_>Году так в 1995 мне один мужик втирал, что теперь когда в электронной таблице можно обсчитывать все что угодно, программисты уже не нужны.
да он этот по-моему, "программист шарепойнт"
K>Каковы будут позиции языков к 2025 году? Я думаю, что:
K>С++ рулит (стандарты 17, 19, 20, 20.5, ... 25) — но концепты все еще не работают K>Java рулит тоже (куда она денется)
Да. Еще хотя бы потому, что все в мире написано на Java или C++ (очень грубо говоря).
K>Rust похоронен в 2017 (оказалось, что с++17 быстрее и удобнее)
Скорее всего похоронен, потому что у Мозиллы закончится или интерес или деньги или и то и другое.
K>Haskell все еще используется (только в Standard Chartered)
Только теоретиками. И становится все более и более теоретический. Возможно кто-то из более практиков его форкнет и сделает менее теоретический язык.
K>Perl все еще жив
Вот что нет, то нет
K>про .net не знаю (я и сейчас не знаю ничего)
.net сейчас, имхо, на распутье, и будет на нем еще пару лет (до пяти). После этого они или окончательно взлетит или окончательно загнется.
Ну и забыл про PHP. Через 10 лет на нем все равно будет все то, что не на C++ и Java :D
Еще есть слабая вероятность, что Руби или Птитон или оба вместе падут под натиском какого-нибудь языка. Но какого, неизвестно.
Туманно будущее Erlang'а, но оно всегда было таким (несмотря на опенсорсность, разрабатывает его очень маленькая группа людей, целиком зависящая от Эрикссона)
Здравствуйте, Mamut, Вы писали:
K>>Haskell все еще используется (только в Standard Chartered) M>Только теоретиками.
Хаскелл для этого, собственно и создавался.
M> И становится все более и более теоретический. Возможно кто-то из более практиков его форкнет и сделает менее теоретический язык.
Форкать не надо. Надо брать обкатанные на нем вещи и добавлять в язык. Вон те же continuation monad утянули многие современные языки. А хаскелл пусть остается тестбедом для экспериментов.
K>>про .net не знаю (я и сейчас не знаю ничего) M>.net сейчас, имхо, на распутье, и будет на нем еще пару лет (до пяти).
Здравствуйте, Философ, Вы писали:
Ф>Из-за модульной парадигмы (namespace'ов приделанных сбоку, unit vars, initialization/finaliztion), из-за наследования конструкторов, и тучи других причин масштабом поменьше.
Ф>Оно говно просто потому, что ты не сможешь сказать что выведет на экран вот такая программа:
Ф>
Здравствуйте, Аноним931, Вы писали:
ARK>>Кстати, в С-подобных языках поля ведь тоже объявляются "отдельно от их использования"?
А>Он имел в виду, что в паскалях переменную нельзя объявить в теле функции/процедуры (внутри BEGIN...END), а можно только "наверху" в VAR-блоке. Т. е. между объявлением и использованием могут находиться over 9000 строк кода, что типа напрягает.
Я это прекрасно понял. И в ответ заметил, что в С++ декларация и имплементация класса не просто разделены over 9000 строк кода, а вообще находятся в разных файлах.
А>Правда, товарищ скромно умалчивает, что и в "с-подобных" языках легко находятся такие же косяки
Гораздо худшие.
А>Но, видимо, фигурные скобки и отсутствие VAR с лихвой перекрывают все недостатки.
Не знаю, пояснений гражданин не дал. Видимо, приступ бугурта был слишком силен, чтобы писать ответ.
Здравствуйте, Философ, Вы писали:
Ф>Да, говно, но не поэтому (не из-за var блока и не из-за скобочек). Ф>Из-за модульной парадигмы (namespace'ов приделанных сбоку, unit vars, initialization/finaliztion), из-за наследования конструкторов, и тучи других причин масштабом поменьше.
namespace'ы не нужны, а вот глобальные переменные это да, плохо.
Ф>из-за наследования конструкторов
А что в этом плохого?
Ф>и тучи других причин масштабом поменьше.
Например?
В С-подобных языках есть свои тучи причин. Например, оператор switch с break в каждой ветке. Или корявые конструкторы, не позволяющие сделать в одном классе "Foobar(int x, int y)" и "Foobar(int width, int height)".
Ф>Оно говно просто потому, что ты не сможешь сказать что выведет на экран вот такая программа:
M>> И становится все более и более теоретический. Возможно кто-то из более практиков его форкнет и сделает менее теоретический язык.
НС>Форкать не надо. Надо брать обкатанные на нем вещи и добавлять в язык. Вон те же continuation monad утянули многие современные языки. А хаскелл пусть остается тестбедом для экспериментов.
Да, действительно. Об этом я не подумал
K>>>про .net не знаю (я и сейчас не знаю ничего) M>>.net сейчас, имхо, на распутье, и будет на нем еще пару лет (до пяти).
НС>И в чем это распутье заключается?
Пока непонятно, умрет ли он, останется ли уделом корпоративных приложений или станет достаточно массовым (ну, не прямо ruby-php, но куда-то в этом направлении). ИМХО
Здравствуйте, kurchatov, Вы писали:
K>Каковы будут позиции языков к 2025 году? Я думаю, что:
Мой прогноз:
1) процедурные языки обладающие свойством мобильности (кроссплатформ по russky) и производительности будут удерживать свои позиции. Это (фактически в отсутствии конкурентов) С. Но я полагаю возможно появление более гибридных с asm и оптимизированных ваираций С для embedded, telecom и finance area
2) Строгие ООП языки компилирующиеся в натив с ручным/гибридным управлением памяти скорее слегка потеряют свои позиции. В них упор будет делаться на мобильность, ооп flexebility, native compatibility with С, но не на производительность. Это С++, golang, rust
3) ООП языки с VM и GC сборщиками мусора будут лидировать. Сейчас это java и c#. Java на мой взгляд будет опережать c#. JVM perf сравнится с c++ native code.
4) Интерпретируемые языки типа php, ruby и perl станут сильно нишевыми и потеряют свои позиции.
Pyhton наоборот увеличит свои позиции и станет стандартом в science и скриптинге.
5) SQL никуда не уйдет, сохранит свои позиции.
6) FP платформы слегка прибавят. Здесь должен наметиться лидер — haskell или ocaml (f#).
7) Javascript будет лидировать среди скриптовых языков и в вебе в целом
Здравствуйте, kurchatov, Вы писали:
K>С++ рулит (стандарты 17, 19, 20, 20.5, ... 25) — но концепты все еще не работают K>Java рулит тоже (куда она денется) K>Rust похоронен в 2017 (оказалось, что с++17 быстрее и удобнее) K>Haskell все еще используется (только в Standard Chartered) K>Perl все еще жив K>про .net не знаю (я и сейчас не знаю ничего)
1) C и C++ постепенно начинают сходить на "нет". Rust+1 становится популярен в системном программировании.
2) В Java появился LINQ и pattern matching.
3) На Haskell'е тренируются в новых фичах, типа доказуемо правильного кода.
4) Python, Ruby и прочие JavaScript'ы из-за вмонтированного в CPU железного JIT'а и опциональной типизации становятся сравнимы с C/C++.
5) LLVM используется как платформа для большинства языков (от хардкорного С до высокоабстрактного Haskell'а) и ходят слухи, что в следующем CPU биткод LLVM будет исполняться напрямую.
6) .NET полностью зарефакторился на платформу LLVM (см. выше) и держит уверенную нишу.
7) Переконфигурируемое железо становится популярным, что вызывает всплеск интереса к System C. Начинаются эксперименты по интеграции FPGA-программирования в обычные языки.
8) GPU окончательно сливается с CPU, OpenCL и другие тяжеловесные интерфейсы умирают за ненадобностью.
9) GCC умер.
10) Perl 5 жив. Perl 6 обещают выпустить к концу 2027-го.
11) В 2025-м окончательно закончена поддержка Python 2.7, но часть проектов так и не перешла на Python 3.
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>А что новое появилось ? Да в общем , ничего.
PD>D — как его не было по существу, так и нет. PD>Питон — вот это вроде популярность повысил. Или мне кажется ?
Питон сильно повысил популярность в научных кругах: просто скриптинг, numpy, scipy, pandas — это всё делает его неплохой заменой Матлабу во многих областях. Но и вообще в мире Питоном пользуются много.
Также в академических кругах набрал популярность R, который открыт и расширяем. Смотрим, выстрелит ли Julia.
Но Матлаб всё равно остаётся на своих сильных позициях.
Из-за роста популярности Эппловской продукции очень сильно скакнул Objective C. Надеюсь, его скоро заменят новые языки, которые уже существуют.
GPGPU разродился в целую серию языков и технологий, что-то из этого да получится хорошее и более менее универсальное. но это однозначно тренд, а не сиюминутная мода.
* очень сильно поднялся JS (за счёт node.js и его инфраструктуры + всяких дополнительных факторов)
* появились надстройки над JS (точнее, другие языки, компилящиеся в него, типа ClojureScript, CoffeeScript)
* Python/Ruby стали совсем мейнстримом из «новомодных технологий для хипстеров»
* появился Swift
* везде расползлась функциональщина и параллельное программирование на агентах Erlang-style
* насколько я понимаю, выстрелила Scala
* насколько я понимаю, выстрелил LLVM (в принципе меняя картину про «появление новых языков»)
Здравствуйте, Nuzhny, Вы писали:
N>Питон сильно повысил популярность в научных кругах: просто скриптинг, numpy, scipy, pandas — это всё делает его неплохой заменой Матлабу во многих областях. Но и вообще в мире Питоном пользуются много. N>Также в академических кругах набрал популярность R, который открыт и расширяем. Смотрим, выстрелит ли Julia. N>Но Матлаб всё равно остаётся на своих сильных позициях.
N>Из-за роста популярности Эппловской продукции очень сильно скакнул Objective C. Надеюсь, его скоро заменят новые языки, которые уже существуют.
N>GPGPU разродился в целую серию языков и технологий, что-то из этого да получится хорошее и более менее универсальное. но это однозначно тренд, а не сиюминутная мода.
Кроме Питона и отчасти Objective C(отчасти потому что его нигде больше нет фактически) , все остальное специализированное, а не общего назначения. R, Matlab, GPU.
Здравствуйте, Гест, Вы писали:
Г>* очень сильно поднялся JS (за счёт node.js и его инфраструктуры + всяких дополнительных факторов) Г>* появились надстройки над JS (точнее, другие языки, компилящиеся в него, типа ClojureScript, CoffeeScript) Г>* Python/Ruby стали совсем мейнстримом из «новомодных технологий для хипстеров» Г>* появился Swift Г>* везде расползлась функциональщина и параллельное программирование на агентах Erlang-style Г>* насколько я понимаю, выстрелила Scala Г>* насколько я понимаю, выстрелил LLVM (в принципе меняя картину про «появление новых языков»)
JS — да, я же писал, что если раньше его совали куда надо и куда не надо, то теперь суют еще больше.
Питон — согласен
Руби — согласен намного меньше
Функциональщина точно, расползлась.
Scala — Пока неясно, выстрелила ли.
Г>а так-то ничего не изменилось, да
Мэйнстрим изменился не сильно. Все вышеперечисленное либо к нему пока не относится, либо относится с оговорками.
Хотя с другой стороны, С# 2.0 и C# нынешний — это можно рассматривать как разные языки. Из-за функциональщины в основном.
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Мэйнстрим изменился не сильно. Все вышеперечисленное либо к нему пока не относится, либо относится с оговорками. PD>Хотя с другой стороны, С# 2.0 и C# нынешний — это можно рассматривать как разные языки. Из-за функциональщины в основном.
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>JS — да, я же писал, что если раньше его совали куда надо и куда не надо, то теперь суют еще больше.
Ну, эта формулировка далека от корректности в описании произошедших изменений.
PD>Руби — согласен намного меньше
М? А что так?
PD>Scala — Пока неясно, выстрелила ли.
In April 2009, Twitter announced that it had switched large portions of its backend from Ruby to Scala and intended to convert the rest.[72]
Gilt uses Scala and Play Framework.[73]
Foursquare uses Scala and Lift.[74]
Coursera uses Scala and Play Framework.[75]
In April 2011, The Guardian newspaper's website guardian.co.uk announced that it was switching from Java to Scala,[76] starting with the Content API for selecting and collecting news content.[77] The website is one of the highest-traffic English-language news websites and, according to its editor, has the second largest online readership of any English-language newspaper in the World, after the New York Times.[78] The New York Times itself revealed in 2014 that its internal content management system Blackbeard is built using Scala, Akka and Play.[79] The Huffington Post newspaper has started to employ Scala as part of its contents delivery system Athena in 2013.[80]
Swiss bank UBS approved Scala for general production usage.[81]
LinkedIn uses the Scalatra microframework to power its Signal API.[82]
Meetup uses Unfiltered toolkit for real-time APIs.[83]
Remember the Milk uses Unfiltered toolkit, Scala and Akka for public API and real time updates.[84]
Verizon seeking to make "a next generation framework" using Scala.[85]
А как же тогда стреляют?
Г>>а так-то ничего не изменилось, да
PD>Мэйнстрим изменился не сильно. Все вышеперечисленное либо к нему пока не относится, либо относится с оговорками.
Ну да, ну да. Изменилось само понятие «мейнстрима» просто. С Windows-desktop-enterprise на вёб-облака-мобильное.
Но если смотреть на «десктопный софт для винды» — то да, «ничего особо не меняться» будет ещё лет 10. А если смотреть на мейнстрим предыдущих десятилетий, так и там ничего не изменилось особо — в старых научных институтах как фигачили старые фортрановские библиотеки, так и фигачат.
Здравствуйте, Гест, Вы писали:
PD>>JS — да, я же писал, что если раньше его совали куда надо и куда не надо, то теперь суют еще больше.
Г>Ну, эта формулировка далека от корректности в описании произошедших изменений.
Я высказал свою точку зрения, имеешь право на свою.
PD>>Руби — согласен намного меньше
Г>М? А что так?
Да просто он ИМХО намного меньше, чем Питон, на слуху.
PD>>Scala — Пока неясно, выстрелила ли.
Г>
<skipped>
Впечатляет, но недостаточно. Использование для крупных проектов — недостаточный аргумент. ИМХО. Вот когда в массовую практику войдет...
Г>А как же тогда стреляют?
Г>Ну да, ну да. Изменилось само понятие «мейнстрима» просто. С Windows-desktop-enterprise на вёб-облака-мобильное.
Ну нет, не соглашусь.
Java и тогда была в том же вебе, десктопных приложений на ней практически как не было и , так и нет. Ее положение в вебе просто осталось практически без изменений.
C# тоже. WinForms и тогда популярен на десктопе не был, и сейчас WPF тоже не то , чтобы очень. Веб, в основном.
Да и веб в то время уже серьезно потеснил десктоп там, где он может, а там где не может — не потеснил и сейчас.
Мобильных, верно, не было. Но там Java и Objective C в основном.
Бгг. А можно ещё голосование «а что вы считаете мейнстримом?» а также «как вы определяете факт вхождения языка в мейнстрим?»
А потом разобраться, что именно определят результаты голосования на сайте RSDN
Здравствуйте, koandrew, Вы писали:
K>Здравствуйте, jazzer, Вы писали:
J>>А с чего б ему не жить? Что он, хужеет со временем, что ли?
K>А разве может быть что-то хуже?
а что не так с перлом? отличный инструмент для своих задач
А хуже — много чего, PHP, например (но он всегда хуже всех, это ниже пояса)
Из чего можно сделать обоснованный вывод, что спор этот (как впрочем и остальные в этом форуме) бессмыслен без согласования словарей.
Что такое «мейнстрим»?
Что такое «язык вошёл в мейнстрим»?
(Не говоря уж о весьма точно определённых понятиях «на слуху» и «массовая практика»)
IT-картина мира за последние 10 лет изменилась весьма сильно, и ЯП это тоже касается.
Я, в общем, представляю, как именно можно выбрать точку зрения, с которой «как всё было, так и осталось» и игнорировать всё, что ей не соответствует, называя это «мнением». Но говорить тут не с кем и не о чем при такой постановке вопроса, увы.
Здравствуйте, Гест, Вы писали:
Г>Из чего можно сделать обоснованный вывод, что спор этот (как впрочем и остальные в этом форуме) бессмыслен без согласования словарей. Г>Что такое «мейнстрим»? Г>Что такое «язык вошёл в мейнстрим»? Г>(Не говоря уж о весьма точно определённых понятиях «на слуху» и «массовая практика»)
"На слуху" и "массовая практика" — это индекс tiobe в чистом виде.
Здравствуйте, Гест, Вы писали:
Г>Бгг. А можно ещё голосование «а что вы считаете мейнстримом?» а также «как вы определяете факт вхождения языка в мейнстрим?»
Вот пусть каждый и решит, что он под этим понимает, получится нечто усредненное.
Г>А потом разобраться, что именно определят результаты голосования на сайте RSDN
Здравствуйте, Гест, Вы писали:
Г>Из чего можно сделать обоснованный вывод, что спор этот (как впрочем и остальные в этом форуме) бессмыслен без согласования словарей.
Как и все споры в этом форуме
Г>IT-картина мира за последние 10 лет изменилась весьма сильно, и ЯП это тоже касается. Г>Я, в общем, представляю, как именно можно выбрать точку зрения, с которой «как всё было, так и осталось» и игнорировать всё, что ей не соответствует, называя это «мнением». Но говорить тут не с кем и не о чем при такой постановке вопроса, увы.
Здравствуйте, neFormal, Вы писали:
F>питонисты не палятся, что кучу инструментов они переняли у раби.
Кто у кого перенял — не суть важно. Ява и C# очень многое взяли от С++, но они не С++, а вполне самостоятельные языки.
А Паскаль (да, сейчас он не популярен, но был же) перенял многое от Алгола. А Алгол здесь только я помню, да еще, может LaptevVV и Privalov.
А Модула — от Паскаля, но в мейнстрим ИМХО никогда не входила.
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>А Паскаль (да, сейчас он не популярен, но был же) перенял многое от Алгола.
Курсе на 3-м написал на Паскале одну программу, больше никогда к нему не возвращался.
PD>А Алгол здесь только я помню, да еще, может LaptevVV и Privalov.
Ты будешь смеяться, но об Алголе я не имею ни малейшего представления.
Здравствуйте, Mamut, Вы писали:
НС>>И в чем это распутье заключается? M>Пока непонятно, умрет ли он
С чего бы ему умирать? В том сегменте, где он массово присутствует никаких серьезных конкурентов акромя жабы ему нет. А жаба последнее время не радует и продолжает отставать от дотнета.
M>останется ли уделом корпоративных приложений или станет достаточно массовым
Достаточным для чего? Дотнет уже вполне массовый на своей платформе. Да и на чужих — Unity3D и Xamarin в своих сегментах достаточно большую роль играют.
Здравствуйте, Pavel Dvorkin, Вы писали:
F>>питонисты не палятся, что кучу инструментов они переняли у раби. PD>Кто у кого перенял — не суть важно. Ява и C# очень многое взяли от С++, но они не С++, а вполне самостоятельные языки. PD>А Паскаль (да, сейчас он не популярен, но был же) перенял многое от Алгола. А Алгол здесь только я помню, да еще, может LaptevVV и Privalov. PD>А Модула — от Паскаля, но в мейнстрим ИМХО никогда не входила.
не, я не про синтаксические конструкции, а именно про утилиты, фреймворки и прочее.
тащут не глядя.
а руби на слуху в вебе и в околоадминской среде, как ни странно.
и это не смотря на то, что питон активно вытесняет перл в автоматизации админопроблем.
Здравствуйте, Pavel Dvorkin, Вы писали:
Г>>Бгг. А можно ещё голосование «а что вы считаете мейнстримом?» а также «как вы определяете факт вхождения языка в мейнстрим?»
PD>Вот пусть каждый и решит, что он под этим понимает, получится нечто усредненное.
Ага, ту самую «ср.темп по больнице» из анекдота, где VB.net немейнстримовый, а Erlang и Nemerle мейнстримовые в равной мере.
Г>>А потом разобраться, что именно определят результаты голосования на сайте RSDN
PD>То же, что и все остальные голосования на RSDN
Ну да. Аргумент ленивого спорщика «мы уже давно выяснили, что в мейнстрим входят [по мнению всех 20 программистов RSDN, которым такая постановка вопроса не кажется дурацкой]».
Здравствуйте, jazzer, Вы писали:
J>А хуже — много чего, PHP, например (но он всегда хуже всех, это ниже пояса)
Я серьезно. Сам не очень много с ним сталкивался, и не понимаю, чем он так плох, однако все ругают. Язык как язык, при этом вполне неплохое положение с документацией, практически не зная его легко поправить к-л скрипт, а то, что на нем куча говнокода наработана, так это плата за популярность и низкий порог вхождения.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Здравствуйте, Pavel Dvorkin, Вы писали:
Г>>IT-картина мира за последние 10 лет изменилась весьма сильно, и ЯП это тоже касается. Г>>Я, в общем, представляю, как именно можно выбрать точку зрения, с которой «как всё было, так и осталось» и игнорировать всё, что ей не соответствует, называя это «мнением». Но говорить тут не с кем и не о чем при такой постановке вопроса, увы.
PD>Никто не заставляет, пусть другие выскажутся.
Обидно то, что КСВ — это как раз место, где можно было было бы вырабатывать общую понятийную базу, от которой двигаться в обсуждении куда-то дальше (обогащая картину мира участников обсуждений).
А вместо этого получается бодание «голых имх». «Я считаю, что ускорение свободного падения 9.6! И это моё мнение! А ты имеешь право на своё мнение!»
Например, давши какие-то определения «мейнстримности», с которым все (хотя бы временно) согласились, можно было бы — с любопытством — посмотреть, какие языки под это определение сейчас попадают (и кстати сделать из этого любопытные же выводы, меняется ли мир).
При этом ценность определения «мейнстрим — это то, о чём часто слышит Павел Дворкин» — немного сомнительна, мягко говоря.
Например, интересно было бы плясать от определения типа «язык X — мейнстрим, если в значительной части городов-миллионников пост-советского пространства (или Европы, или мира, как угодно) можно найти и вакансии, и кандидатов, пишущих на этом языке». (Я не знаю, какие языки будут соответствовать этому определению, но вот это уже был бы интересный разговор. Правда, скорее всего, не соответствующий априорным ИМХам всех участников)
Здравствуйте, Гест, Вы писали:
Г>* очень сильно поднялся JS (за счёт node.js и его инфраструктуры + всяких дополнительных факторов)
ИМХО дело не в node.js, а в том что возможности JS в браузерах наконец доросли до потребностей рынка и из ужасного кракозябра JS превратился в не столь ужасного и более менее технологичного уродца.
Г>* появились надстройки над JS (точнее, другие языки, компилящиеся в него, типа ClojureScript, CoffeeScript)
Я бы тут скорее упомянул TypeScript и Kotlin.
Г>* появился Swift
Ты первый в этом топике о нем вспомнил, что характерно. Потому что есть масса перспективных языков не хуже, и swift выделяется только анальной огороженностью платформы и агрессивным хомячковым маркетингом.
Здравствуйте, Гест, Вы писали:
Г>Бгг. А можно ещё голосование «а что вы считаете мейнстримом?» а также «как вы определяете факт вхождения языка в мейнстрим?»
Мейнстрим, по определению, это то чем пользуется большинство разработчиков. Так что в этом вопросе голосование вполне релевантно. Тем более что результаты двойных трактовок пока не допускают.
Здравствуйте, Гест, Вы писали:
Г>При этом ценность определения «мейнстрим — это то, о чём часто слышит Павел Дворкин» — немного сомнительна, мягко говоря.
Ценность дискуссии в таком тоне сомнительна, даже не мягко говоря. Поэтому я ее с тобой прекращаю.
Здравствуйте, Ночной Смотрящий, Вы писали:
Г>>Бгг. А можно ещё голосование «а что вы считаете мейнстримом?» а также «как вы определяете факт вхождения языка в мейнстрим?»
НС>Мейнстрим, по определению, это то чем пользуется большинство разработчиков. Так что в этом вопросе голосование вполне релевантно. Тем более что результаты двойных трактовок пока не допускают.
Интересное какое определение. А какой процентиль у нас будет «большинством»?
(И в голосовании ведь не спросили «чем вы пользуетесь», и даже не спросили «каким языком, по вашему мнению, пользуется большинство программистов», спросили «какие языки, по вашему, мейнстримные»)
А результаты да, ещё более предсказуемые, чем сам вопрос. И показывают примерно ничего.
Здравствуйте, Pavel Dvorkin, Вы писали:
Г>>При этом ценность определения «мейнстрим — это то, о чём часто слышит Павел Дворкин» — немного сомнительна, мягко говоря.
PD>Ценность дискуссии в таком тоне сомнительна, даже не мягко говоря. Поэтому я ее с тобой прекращаю.
Bingo! Следующий.
Для этого ведь КСВ и нужны же — чтобы сраться, обмениваясь «имхами»?
Значит, я всё делаю правильно!
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Здравствуйте, Гест, Вы писали:
Г>>* очень сильно поднялся JS (за счёт node.js и его инфраструктуры + всяких дополнительных факторов)
НС>ИМХО дело не в node.js, а в том что возможности JS в браузерах наконец доросли до потребностей рынка и из ужасного кракозябра JS превратился в не столь ужасного и более менее технологичного уродца.
Нет-нет, Node.js не стоит недооценивать. Дело же не в самой ноде, а в том, что в JS пришла «серверная культура» — и тут же появились (в мейнстриме ггг что бы это ни значило) культура пакетов, автоматизированные сборщики и т.п. — которые теперь и во фронт-энде активно используются.
Но это правда достижения последних 2-3 лет.
Если брать изначально заданный промежуток (2005-2015), то тут конечно факторов намного больше — от появления Chrome и до тупого увеличения пропускной способности интернетов, памяти, производительности процессоров — т.е. всего того, что позволяет нафигачить на клиенте сложного, тяжёлого и притом поддерживаемого кода. Да вообще весь Ajax стал примерно в этом промежутке мейнстримом (ггг что бы это ни значило)
Г>>* появился Swift
НС>Ты первый в этом топике о нем вспомнил, что характерно. Потому что есть масса перспективных языков не хуже, и swift выделяется только анальной огороженностью платформы и агрессивным хомячковым маркетингом.
А я не помнил про свифт.
Просто я поглядываю в источники даже когда дискутирую в КСВ
И он один из наиболее стремительно набирающих популярность сейчас.
И мы же не говорили о том, хороший это язык или плохой? Просто о том, что произошло с языками за последние десять лет.
Здравствуйте, Гест, Вы писали:
Г>Нет-нет, Node.js не стоит недооценивать.
Переоценивать тоже не стоит. На фоне клиентского кода количество серверного — 0.01%.
Г>которые теперь и во фронт-энде активно используются.
Ты про require.js? Имхо не особо оно на клиенте приживается.
Г>Если брать изначально заданный промежуток (2005-2015), то тут конечно факторов намного больше — от появления Chrome и до тупого увеличения пропускной способности интернетов, памяти, производительности процессоров
Ты основное забыл — HTML5, который наконец начал разгребать авгиевы конюшни несовместимостей браузеров. Второй фактор — появление изолирующих от браузерного бардака фреймворков, сперва jQuery, потом еще нескольких аналогов. Именно это принесло на платформу хотя бы зачатки технологичности.
Следующий шаг должен быть договоренностью о едином стандарте IL и отказе от исполнения исходников. Но что то пока на этом направлении не очень радостно. Сервелат подох благодаря усилиям одного козла, а замены пока не видно. Когда проблема будет решена — будет очередной резкий скачек количества кода.
Г>И он один из наиболее стремительно набирающих популярность сейчас.
В рамках анально огороженной патформы, не забывай. Хайп в инете не всегда означает реальную популярность у реальных разрабочиков.
Г>И мы же не говорили о том, хороший это язык или плохой? Просто о том, что произошло с языками за последние десять лет.
Еще раз — "произошло" оно только в ранках одной конкретной и не самой популярной платформы. Для индустрии в целом ничего особо не произошло. Еще один относительно современный проект языка и все.
В этом плане радует разве что пробуждение от длительной спячки проектирования мейнстрим языков. Потому что до этого почти весь языкостроительный прогресс исчерпывался эдакими "ремесленниками", для которых даже та простая истина, что ЯП предназначен и должен ориентироваться прежде всего на человека, а не на компьютер была неизведанна, а все научные наработки по языкам — не для практического применения.
Здравствуйте, Гест, Вы писали:
Г>Интересное какое определение.
Мейнстрим (англ. mainstream — основное течение) — преобладающее направление в какой-либо области (научной, культурной и др.) для определённого отрезка времени.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Здравствуйте, Гест, Вы писали:
Г>>Интересное какое определение. НС>
НС>Мейнстрим (англ. mainstream — основное течение) — преобладающее направление в какой-либо области (научной, культурной и др.) для определённого отрезка времени.
Отлично. И чем это нам помогает? Допустим, мы точно измерили (неважно, какой методологией) «используемость языка». Что будем считать мейнстримом? Топ-2? Топ-5? Топ-100? «Больше 5% программеров используют» или что? В какой момент «язык попадает в мейнстрим»?
Здравствуйте, Ночной Смотрящий, Вы писали:
Г>>Нет-нет, Node.js не стоит недооценивать.
НС>Переоценивать тоже не стоит. На фоне клиентского кода количество серверного — 0.01%.
Я не про серверный код, ещё раз. Про изменение культуры разработки произошедшее _вследствие_ появления ноды.
Г>>которые теперь и во фронт-энде активно используются.
НС>Ты про require.js? Имхо не особо оно на клиенте приживается.
Здравствуйте, Гест, Вы писали:
Г>Отлично. И чем это нам помогает? Допустим, мы точно измерили (неважно, какой методологией) «используемость языка». Что будем считать мейнстримом? Топ-2? Топ-5?
Там разрыв между лидерами и остальными такой резкий, что никаких особых методик не нужно. Голосование это только лишний раз подтверждает.
Здравствуйте, Ночной Смотрящий, Вы писали:
Г>>Отлично. И чем это нам помогает? Допустим, мы точно измерили (неважно, какой методологией) «используемость языка». Что будем считать мейнстримом? Топ-2? Топ-5?
НС>Там разрыв между лидерами и остальными такой резкий, что никаких особых методик не нужно. Голосование это только лишний раз подтверждает.
А, т.е. «мейнстрим» это типа 2 языка? А то что уже в любой глуши нанимают программеров на Python-Ruby-Scala-Erlang — это они всё ещё молодые хипстерские технологии? И чтобы «попасть в мейнстрим», языку надо сравняться в популярности с Java?
ОК! Офигенно отличное определение, делающее все разговоры бессмысленными
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Алгол-60 — мой первый язык программирования.
Я, видимо, слишком молодой. Когда учился, Алгол 60 уже отменили.
На самом деле я не видел ни одной работающей софтины на Алголе. На PL/1? Коболе — видел, на Фортране даже сам кое-что написал. А с алголообразными языками как-то не сложилось.
Здравствуйте, kurchatov, Вы писали:
K>Каковы будут позиции языков к 2025 году? Я думаю, что:
K>С++ рулит (стандарты 17, 19, 20, 20.5, ... 25) — но концепты все еще не работают K>Java рулит тоже (куда она денется) K>Rust похоронен в 2017 (оказалось, что с++17 быстрее и удобнее) K>Haskell все еще используется (только в Standard Chartered) K>Perl все еще жив K>про .net не знаю (я и сейчас не знаю ничего)
Через 7 лет дот Нет переродится так, что программирование на нем будет похоже на нынешнее программирование на C++. 1С — тоже переродится в нечто более сложное. Подыхать больше ничего небудет. Акромя Action Script. Оно сдожнет через 3 года.
показывает, что ничего нового в качестве предсказаний не появилось
Миллионы индусов, китайцев, славян, европейцев не смогли выиграть состязание с системами ИИ, которые фрилансят и аутсорсят дешевле, качественнее, быстрее и с минимальными рисками для бизнесов.
Строители, водители, программисты, финансисты, аналитики, юристы — не у дел. Им найдена замена.
Выбор ЯП, равно как и сам спор о лучшем ЯП, потерял свою былую привлекательность и актуальность на фоне низких либо нерегулярных заработков уже пожилых спорщиков.
Настоящее Черной Африки представляет собой недалекое будущее жителей государств "второго" и "третьего" мира.
IBM и Honda купаются в золоте.
@humor=on
И немного про РСДН в таком контексте:
Шеридан занят протягиванием кабелей — системы ИИ отобрали у него все сколь-либо интеллектуальные задачи типа сборки чего-то коммерческого и очень закрытого — опенсорц умер вместе с профильными профессиями.
ВладД2 все еще пилит Немерле — есть еще вера в великое будущее ПЕГ и макросов.
Кочетков построил себе дворец — поднялся в сфере инфобезопасности применительно к системам ИИ.
Джаззер понял, что хаскель все-таки не нужен ввиду отсутствия рабочих мест.
Ников консультирует по материалам для обучения систем ИИ языкам программирования.
Мамут в депрессии — и эрланг не у дел, и Шеридана не за что гонять ввиду отсутствия его в Сети.
УА подозревает... Да нет — явно видит руку Путина в сложившемся миропорядке. Хотя ВВП уже лет 5 как похоронен.
Здравствуйте, Ночной Смотрящий, Вы писали:
Г>>* появился Swift
НС>Ты первый в этом топике о нем вспомнил, что характерно. Потому что есть масса перспективных языков не хуже, и swift выделяется только анальной огороженностью платформы и агрессивным хомячковым маркетингом.
Swift выделяется тем, что скоро будет единственным языком общения с очень популярной платформой. Это и есть перспективность. Lisp и ML уже полвека "перспективные", но это им не помогает. У свифта же в час X будут десятки тысяч программистов и сотни тысяч программ, которые приносят деньги. Сам язык можно было, наверно, сделать получше, но это мелочь.
W>Через 7 лет дот Нет переродится так, что программирование на нем будет похоже на нынешнее программирование на C++. 1С — тоже переродится в нечто более сложное. Подыхать больше ничего небудет. Акромя Action Script. Оно сдожнет через 3 года.
W>показывает, что ничего нового в качестве предсказаний не появилось
Вообще, примерно так и получилось.
Дотнет стал сильно сложнее и могучее,
1С переход с 7.7 на 8 — очень существенно увеличил сложность входа для программиста,
Action Script таки сдох.
Здравствуйте, jazzer, Вы писали:
J>Ну раз серьезно: http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/
Половину того, что там написано, можно и про JS сказать. Плюс, некоторые претензии (вроде отсутствия локальных функций и классов, это запрос на фичи, а не плохая архитектура) надуманны, а некоторые, вроде
Appending to an array is done with $foo[] = $bar.
вообще непонятны, что в этой конструкции плохого?
И как люди на нем пишут после всех этих ужасов?
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Здравствуйте, noone, Вы писали:
N>>Swift выделяется тем, что скоро будет единственным языком общения с очень популярной платформой.
НС>Я и говорю — анально огороженная платформа.
В ветке обсуждаются языки через 10 лет. Если Эппл не загнется к тому времени (а к этому пока нет предпосылок), свифт будет одним из этих языков, ч. и т.д.
Степень огороженности и прочее — это неважные детали.
Здравствуйте, Ops, Вы писали:
Ops>Я серьезно. Сам не очень много с ним сталкивался, и не понимаю, чем он так плох, однако все ругают. Язык как язык, при этом вполне неплохое положение с документацией, практически не зная его легко поправить к-л скрипт, а то, что на нем куча говнокода наработана, так это плата за популярность и низкий порог вхождения.
Тем, что джуниора на перл не возьмут, да и он сам не пойдет. Технология самозаконсервировалась. Сидят где-нибудь старперы-перловики кружком, что есть — поддерживают, а новичков посылают. Старперы кончатся, язык тоже кончится. На этом все.
Здравствуйте, noone, Вы писали:
N>Вы так говорите, как будто JS это что-то хорошее.
Остается понять, почему такое "говно" как JS и PHP — куда больший мейнстрим, чем многие "правильные" и "хорошие" языки. Может, все-таки, не так все с ними плохо?
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Можно. JS примерно такое же гавно, лишь немного лучше.
Ops> Плюс, некоторые претензии (вроде отсутствия локальных функций и классов, это запрос на фичи, а не плохая архитектура) надуманны, а некоторые, вроде Ops>
Ops>Appending to an array is done with $foo[] = $bar.
Ops>вообще непонятны, что в этой конструкции плохого?
Оператор присваивания, который на самом деле делает аппенд — прекрасный способ прострелить себе ногу.
Ops>И как люди на нем пишут после всех этих ужасов?
Здравствуйте, Ops, Вы писали:
Ops>Остается понять, почему такое "говно" как JS и PHP — куда больший мейнстрим, чем многие "правильные" и "хорошие" языки.
JS — единственный доступный во всех браузерах язык. Исторически сложилось. И при этом не прекращаютмя попытки создать нормальный язык, транслирующийся в JS. Как думаешь, почему?
А PHP — это такой бейсик нашего времени, примитивный язык для тех, кто окончил трехмесячные курсы программирования, предназначен для рабботы в режиме "фигли тут думать, трясти надо".
K>>Haskell все еще используется (только в Standard Chartered) IO>Хаскелл совершенен. Способны ли им пользоваться жалкие гомосапиенсы совершенно не важно.
Не освоил — вот и бесишься.
Здравствуйте, Ops, Вы писали:
Ops>Здравствуйте, jazzer, Вы писали:
J>>Ну ты ж сам сказал, что JS содержит лишь половину недостатков PHP
Ops>Я сказал, что половина из множества недостатков пыхыпы, принадлежит так же и множеству недостатков жыэс. Причем "половина" здесь — оценочное суждение.
То есть другая половина — не принадлежит И твое оценочное суждение, получается — что PHP вдвое хуже JS
Здравствуйте, Ops, Вы писали:
J>>То есть другая половина — не принадлежит И твое оценочное суждение, получается — что PHP вдвое хуже JS Ops>Не-не-не-не, ты не путай тут. Недостатки ЖС не ограничиваются общим с ПХП подмножеством.
Все основные недостатки JS воспроизведены в PHP в лучшем виде. PHP это вообще живая демонстрация как делать не надо.
Здравствуйте, Философ, Вы писали:
Ф>Да, говно, но не поэтому (не из-за var блока и не из-за скобочек).
Ф>Из-за модульной парадигмы (namespace'ов приделанных сбоку, unit vars, initialization/finaliztion), из-за наследования конструкторов, и тучи других причин масштабом поменьше.
Имеется ввиду конкретная реализация модульной парадигмы или же модули vs заголовочные файлы?
Здравствуйте, jazzer, Вы писали:
J>а что не так с перлом? отличный инструмент для своих задач
Он трудночитаемый. Есть шутка, что Perl — это "write-only язык". Преувеличение, конечно, но некоторая почва под этим есть.
Свои задачи он неплохо решает, но читать код, написанный другим человеком, бывает сложно. Хотя я сам видел пример хорошо написанного Perl-кода. Но для новых проектов я б лучше взял что-то другое. Python, например.
Здравствуйте, Ops, Вы писали:
Ops>Половину того, что там написано, можно и про JS сказать.
Я не сталкивался с РНР, но JS — это самый ужасный язык из всего, на чём мне вообще приходилось писать. Надстройка в виде jquery делает его чуть лучше, но я всёже хотел бы чтоб JS ушёл в прошлое и его место занял другой язык.
Ops>Это ж лишнюю галочку ставить придется, имхо, оба вполне себе мейнстрим, пусть и в разных областях.
что тогда мешает и другие языки сгруппировать, чтобы не ставить лишних галочек? php/js, например, — да языки разные, зато оба вполне себе где-то мейнстрим? логика, где?
Здравствуйте, Artem Korneev, Вы писали:
I>>В теории всё так и есть — если таблица будет неограниченой длины и ширины. Хоть звук и видео обрабатывай.
AK>Да ради бога. Пусть таблица будет неограниченной длины. Как это поможет обойтись без программирования?
"один мужик втирал, что теперь когда в электронной таблице можно обсчитывать все что угодно, программисты уже не нужны"
Программисты не нужны и программирование не нужно — это две большие разницы.
Здравствуйте, Artem Korneev, Вы писали:
AK>Здравствуйте, jazzer, Вы писали:
J>>а что не так с перлом? отличный инструмент для своих задач
AK>Он трудночитаемый. Есть шутка, что Perl — это "write-only язык". Преувеличение, конечно, но некоторая почва под этим есть.
Вот что написано в официальном мануале:
Just because you CAN do something a particular way doesn't mean that you SHOULD do it that way. Perl is designed to give you several ways to do anything, so consider picking the most readable one.
AK>Свои задачи он неплохо решает
Свои задачи он просто отлично решает
AK>но читать код, написанный другим человеком, бывает сложно. Хотя я сам видел пример хорошо написанного Perl-кода. Но для новых проектов я б лучше взял что-то другое. Python, например.
Все зависит исключительно от программера и его настроенности на написание понятного кода. Овнокодить можно на любом языке, и питон ни разу не исключение.
Здравствуйте, kurchatov, Вы писали:
K>Каковы будут позиции языков к 2025 году? Я думаю, что: K>Perl все еще жив
Вот-вот будет релиз Perl 6. Сейчас уже совсем скоро, честное слово!
Python 3 (в версии 3.15) наконец-то вытеснил из использования Python 2, который дошел до версии 2.7.42. Но Python 3 сам уже считается устаревшим, потому что вышел несовместимый с ним Python 4 (на основе JavaScript!).
Сам JavaScript — Clang, GCC, Visual C++ компилируют теперь только в него. Oracle усиленно работает над портом JVM под JS.
Здравствуйте, Ops, Вы писали:
Ops>Здравствуйте, Философ, Вы писали:
Ф>>Оно говно просто потому, что ты не сможешь сказать что выведет на экран вот такая программа:
Ф>>
Ops>А где такое можно сказать? В С есть #define true false, например, а "хело мир" можно заставить форматировать диск, подключив лишь один заголовок.
В C ты можешь поставить бряк на printf() и посмотреть что в действительности исполняется и в каком файле, а тут бряк на WriteLn() тебе ничего не даст — тебе придётся открыть модуль MyFuckignUnit, посмотреть что импортирует он и если в нём и в остальных модулях секции инициализации. До твоего дэлфячего аналога "мэйна" дело может даже не дойти. Разница вот в этом.
Всё сказанное выше — личное мнение, если не указано обратное.
Здравствуйте, Locksmithpc, Вы писали:
L>Здравствуйте, Философ, Вы писали:
Ф>>Из-за модульной парадигмы (namespace'ов приделанных сбоку, unit vars, initialization/finaliztion), из-за наследования конструкторов, и тучи других причин масштабом поменьше.
Ф>>Оно говно просто потому, что ты не сможешь сказать что выведет на экран вот такая программа:
Ф>>
Здравствуйте, Aleх, Вы писали: A>Здравствуйте, Философ, Вы писали: Ф>>Да, говно, но не поэтому (не из-за var блока и не из-за скобочек). Ф>>Из-за модульной парадигмы (namespace'ов приделанных сбоку, unit vars, initialization/finaliztion), из-за наследования конструкторов, и тучи других причин масштабом поменьше. A>Имеется ввиду конкретная реализация модульной парадигмы или же модули vs заголовочные файлы?
1)
Имеется ввиду сложность предсказания потока исполнения: слишком сложно сказать в каком порядке будут исполнены секции initialization/finalization а от этого может многое зависеть, т.к. там иногда переопределяются некоторые глобальные вещи, типа функций управления памятью. В делфе процветает чёрная магия.
Даже если ты точно сможешь сказать, что секции initialization будут выполнены в том порядке, в котором указаны модули в файле проекта, то о необходимости блюсти этот порядок посторонний разработчик может и не знать. Ловить потом баги порождённые этим очень сложно долго.
2) Такая парадигма крайне плохо дружит с многопоточностью. Вот, представь:
code
//файл проекта---------------------------------------------------program ThisProgramDemonstrateFuckingShitFromDephiWorld;
uses MyFuckignUnit,
MyFuckignUnit2;
begin
WriteLn('Hello from delphi hell');
end.
//файл модуля---------------------------------------------------unit MyFuckignUnit;
interface
uses SysUtils, MyFuckignUnit2, MyFuckignUnit3;
implementation
function CreateMyObjectWithThreads() :TObject;
begin//here creating object that uses threadsend;
var o :TObject;
initialization
o := CreateMyObjectWithThreads();
finalization
FreeAndNil(o);
end.
//файл модуля---------------------------------------------------unit MyFuckignUnit2;
interface
procedure UseModuleVar();
implementation
procedure UseModuleVar();
begin
moduleVar := false;
end;
var moduleVar :boolean;
initialization
moduleVar := true;
finalization
В коде показана ситуация, когда во время инициализации модуля 1 создаётся объект, который создаёт и использует поток (пусть это будет неявно). Из потока читается булевская переменная из модуля 2, которая там инициализируется в секции инициализации. Никакого криминала в незащищённом чтении булевской переменной нет — это атомарная операция. Косяк здесь в том, что поток может её прочитать до того, как она была выставлена в правильное значение — всё, ты попал на часы нудной отладки.
С потоками всё значительно сложнее потому, что распределение квантов времени ты предсказать не можешь: в одном случае переменная уже будет выставлена, а в другом нет.
Даже если без потоков, просто до инициализации модуля дело ещё не дошло, но уже оттуда зовутся функции ситуация оказывается подобной, хотя и проще.
Всё сказанное выше — личное мнение, если не указано обратное.
Здравствуйте, Ops, Вы писали:
Ops>А где такое можно сказать? В С есть #define true false, например, а "хело мир" можно заставить форматировать диск, подключив лишь один заголовок.
В древних ОС (типа MS-DOS) — отформатирует диск, а вот в той же Windows — ОС не даст так просто это сделать пользовательской аппликухе.
По теме:
В том, что можно переопределить действие операторов, констант и даже ключевых слов ЯП — это, ИМХО, только плюс.
Однако, лично меня, когда я (20 лет назад) перешел от Паскаля к C, приятно удивила лаконичность языка C
Лаконичность это прежде всего {/} — вместо BEGIN/END. Хотя там, в Паскале, были еще разные "многобуквенные" ключевые слова.
В общем — забросил я с тех пор Паскаль и уже не возвращался к нему. В Делфи даже и не влезал
P.S. Паскаль и языки с его синтаксисом может и хороши для студентов (для целей обучения), но для повседневной практики они неудобны.
Здравствуйте, Философ, Вы писали:
Ф>В C ты можешь поставить бряк на printf() и посмотреть что в действительности исполняется и в каком файле, а тут бряк на WriteLn() тебе ничего не даст — тебе придётся открыть модуль MyFuckignUnit, посмотреть что импортирует он и если в нём и в остальных модулях секции инициализации. До твоего дэлфячего аналога "мэйна" дело может даже не дойти. Разница вот в этом.
Я тебя умоляю. #pragma init_seg или __attribute__ ((constructor)) — и вся любовь, пусть это и не по стандарту.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Здравствуйте, AlexGin, Вы писали:
Ops>>А где такое можно сказать? В С есть #define true false, например, а "хело мир" можно заставить форматировать диск, подключив лишь один заголовок. AG>В древних ОС (типа MS-DOS) — отформатирует диск, а вот в той же Windows — ОС не даст так просто это сделать пользовательской аппликухе.
Это я для примера, форматирование диска частенько упоминают как возможный результат UB, например AG>По теме: AG>В том, что можно переопределить действие операторов, констант и даже ключевых слов ЯП — это, ИМХО, только плюс. AG>Однако, лично меня, когда я (20 лет назад) перешел от Паскаля к C, приятно удивила лаконичность языка C AG>Лаконичность это прежде всего {/} — вместо BEGIN/END. Хотя там, в Паскале, были еще разные "многобуквенные" ключевые слова.
Зато там есть удобная сокращалка, WITH, кажется. AG>В общем — забросил я с тех пор Паскаль и уже не возвращался к нему. В Делфи даже и не влезал
Примерно та же история, хотя с делфи я немного знаком, т.к. игрался с билдером.
AG>P.S. Паскаль и языки с его синтаксисом может и хороши для студентов (для целей обучения), но для повседневной практики они неудобны.
Возможно, приличная IDE может решить это, пусть громоздко, но писать с ней можно меньше.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Здравствуйте, Ops, Вы писали:
Ops>Здравствуйте, AlexGin, Вы писали:
AG>>По теме: AG>>В том, что можно переопределить действие операторов, констант и даже ключевых слов ЯП — это, ИМХО, только плюс. AG>>Однако, лично меня, когда я (20 лет назад) перешел от Паскаля к C, приятно удивила лаконичность языка C AG>>Лаконичность это прежде всего {/} — вместо BEGIN/END. Хотя там, в Паскале, были еще разные "многобуквенные" ключевые слова. Ops>Зато там есть удобная сокращалка, WITH, кажется.
То есть (переведём на русский): придуманы костыли для Паскаля.
AG>>В общем — забросил я с тех пор Паскаль и уже не возвращался к нему. В Делфи даже и не влезал Ops>Примерно та же история, хотя с делфи я немного знаком, т.к. игрался с билдером.
С Билдером я также занимался раньше (и довольно плотно — пришлось долго поддерживать один древний проект), только в паскалевский синтаксис не лез.
Там все можно делать на C++. Хорошо, что Борланд догадался сделать такую штуку, как билдер. Хоть с привычным синтаксисом имеешь дело!
AG>>P.S. Паскаль и языки с его синтаксисом может и хороши для студентов (для целей обучения), но для повседневной практики они неудобны. Ops>Возможно, приличная IDE может решить это, пусть громоздко, но писать с ней можно меньше.
К слову сказать, у Борланда все IDE (которые под Windows) — особо глючные и жутко тормозные. В общем — ещё те "подарочки"
Насчет сторонних IDE для Паскаля/Делфи — ИМХО их не было и нет. Только борландовское УГ.
Здравствуйте, kurchatov, Вы писали:
K>Каковы будут позиции языков к 2025 году? Я думаю, что:
K>С++ рулит (стандарты 17, 19, 20, 20.5, ... 25) — но концепты все еще не работают K>Java рулит тоже (куда она денется) K>Rust похоронен в 2017 (оказалось, что с++17 быстрее и удобнее) K>Haskell все еще используется (только в Standard Chartered) K>Perl все еще жив K>про .net не знаю (я и сейчас не знаю ничего)
Конечно С++ рулит и Java тоже, и dotNET никуда не денеться, с JS и Php. Первая пятерка по популярности такой же и должна остаться.
Вы про область применения лучше спросите. В веб, мобильные платформы все резко переместилось за последние годы. А в будущем это будет виртуальная реальность, embeded, ИИ.
Это все писать можно и С++ и Java впрочем. Языки я считаю устоялись. Ну можем прогнозировать сдвиг Objective-C на Swift. Бекенд на Java/.NET в сторону Node.js. Что еще существенного появилось? Dart еще может где-то заиграть с подачи Гугла. Есть вероятность популярности языка только к какой то прорывной платформе.
Здравствуйте, Философ, Вы писали:
Ф>В C ты можешь поставить бряк на printf() и посмотреть что в действительности исполняется и в каком файле, а тут бряк на WriteLn() тебе ничего не даст — тебе придётся открыть модуль MyFuckignUnit, посмотреть что импортирует он и если в нём и в остальных модулях секции инициализации.
Почему это бряк на Writeln ничего не даст?
Ф>До твоего дэлфячего аналога "мэйна" дело может даже не дойти. Разница вот в этом.
Здравствуйте, Философ, Вы писали:
Ф>1) Ф>Имеется ввиду сложность предсказания потока исполнения: слишком сложно сказать в каком порядке будут исполнены секции initialization/finalization а от этого может многое зависеть, т.к. там иногда переопределяются некоторые глобальные вещи, типа функций управления памятью. В делфе процветает чёрная магия.
Переопределить можно много чего, но это не значит, что это общепринятая практика.
Это в С++ черная магия цветет и пахнет, там для нее простора на порядок больше.
Ф>Даже если ты точно сможешь сказать, что секции initialization будут выполнены в том порядке, в котором указаны модули в файле проекта, то о необходимости блюсти этот порядок посторонний разработчик может и не знать. Ловить потом баги порождённые этим очень сложно долго.
А в каком порядке у нас в С++ инициализируются статические переменные? В строго определенном, да?
Здравствуйте, AlexRK, Вы писали: ARK>Почему это бряк на Writeln ничего не даст? Ф>>До твоего дэлфячего аналога "мэйна" дело может даже не дойти. Разница вот в этом. ARK>Чего?
Скомпилируй и посмотри
файл "FuckingDelphiProject.dpr"
program FuckingDelphiProject;
{$APPTYPE CONSOLE}
{$R *.res}uses
System.SysUtils,
MyFuckingUnit in'MyFuckingUnit.pas';
begin
WriteLn('Hello from delphi hell');
end.
файл "MyFuckingUnit.pas"
unit MyFuckingUnit;
interface
implementation
var p : ^Integer;
initialization
WriteLn(p^);
end.
Всё сказанное выше — личное мнение, если не указано обратное.
Здравствуйте, AlexRK, Вы писали: ARK>Здравствуйте, Философ, Вы писали: Ф>>Да, говно, но не поэтому (не из-за var блока и не из-за скобочек). Ф>>Из-за модульной парадигмы (namespace'ов приделанных сбоку, unit vars, initialization/finaliztion), из-за наследования конструкторов, и тучи других причин масштабом поменьше. ARK>namespace'ы не нужны, а вот глобальные переменные это да, плохо. Ф>>из-за наследования конструкторов ARK>А что в этом плохого?
Потому, что профит от метаклассов полностью перекрывается тем, что это порождает трудноуловимые ошибки.
Попробуй, найти здесь ошибку вот здесь:
В чём ошибка я уже сказал
unit MyFuckingUnit;
interface
implementation
type TA = class (TObject)
protected
FPrivateIntVar :Integer;
public
constructor Create(p_int :Integer);
procedure WriteHimself();
end;
type TB = class (TA)
public
constructor Creatе(p_int :Integer);
end;
type TC = class (TB)
public
constructor Creatе(p_int :Integer);
end;
var obj : TA;
{ TA }constructor TA.Create(p_int :Integer);
begin
FPrivateIntVar := -1;
end;
procedure TA.WriteHimself;
begin
WriteLn(FPrivateIntVar);
end;
{ TB }constructor TB.Creatе(p_int: Integer);
begin
inherited Create(p_int);
FPrivateIntVar := p_int;
end;
{ TC }constructor TC.Creatе(p_int: Integer);
begin
inherited Creatе(p_int);
FPrivateIntVar := p_int;
end;
initialization
obj := TC.Create(1);
obj.WriteHimself(); //Ожидаем 1 увидеть, ибо в конструкторе "FPrivateIntVar := p_int", правильно? Запусти, и посмотри.end.
Это крохотный пример из одного файла, и уже всё непросто. Что будет, если у тебя >1000 файлов в проекте?
Надо на собеседованиях для делфистов такие вопросы задавать. Давать вот этот код, и спрашивать: в каком случае на экране будет (-1) и почему?
Всё сказанное выше — личное мнение, если не указано обратное.
Здравствуйте, Locksmithpc, Вы писали:
L>Здравствуйте, Философ, Вы писали:
Ф>>Этот код и есть демонстрация недостатков initialization/finaliztion. Вот здесь
Здравствуйте, Философ, Вы писали:
Ф>>>из-за наследования конструкторов ARK>>А что в этом плохого?
Ф>Потому, что профит от метаклассов полностью перекрывается тем, что это порождает трудноуловимые ошибки. Ф>Попробуй, найти здесь ошибку вот здесь:
1) этот код не компилируется (вперемешку английские и русские буквы);
2) здесь нет наследования конструкторов;
3) онлайн-компилятора Delphi не нашел, воспользовался совместимым с ним FPC здесь: http://ideone.com/
Исправленный код:
{$mode objfpc}program MyFuckingUnit;
type TA = class (TObject)
protected
FPrivateIntVar :Integer;
public
constructor Create(p_int :Integer);
procedure WriteHimself();
end;
type TB = class (TA)
public
constructor Create(p_int :Integer);
end;
type TC = class (TB)
public
constructor Create(p_int :Integer);
end;
var obj : TA;
{ TA }constructor TA.Create(p_int :Integer);
begin
FPrivateIntVar := -1;
end;
procedure TA.WriteHimself;
begin
WriteLn(FPrivateIntVar);
end;
{ TB }constructor TB.Create(p_int :Integer);
begin
inherited Create(p_int);
FPrivateIntVar := p_int;
end;
{ TC }constructor TC.Create(p_int :Integer);
begin
inherited Create(p_int);
FPrivateIntVar := p_int;
end;
begin
obj := TC.Create(1);
obj.WriteHimself(); //Ожидаем 1 увидеть, ибо в конструкторе "FPrivateIntVar := p_int", правильно? Запусти, и посмотри.end.
Здравствуйте, Философ, Вы писали:
ARK>>Почему это бряк на Writeln ничего не даст? Ф>>>До твоего дэлфячего аналога "мэйна" дело может даже не дойти. Разница вот в этом. ARK>>Чего?
Ф>[cut=Скомпилируй и посмотри]
Это просто ошибка. В чем проблема-то? Что падает до "begin"?
В С++ возможно все то же самое, см. "Static Initialization Order Fiasco".
The static initialization order fiasco is a very subtle and commonly misunderstood aspect of C++. Unfortunately it’s very hard to detect — the errors often occur before main() begins.
Ога?
Может хватит уже выискивать "недостатки", которые есть чуть менее, чем везде?
Здравствуйте, AlexRK, Вы писали:
ARK>Здравствуйте, Философ, Вы писали:
Ф>>1) Ф>>Имеется ввиду сложность предсказания потока исполнения: слишком сложно сказать в каком порядке будут исполнены секции initialization/finalization а от этого может многое зависеть, т.к. там иногда переопределяются некоторые глобальные вещи, типа функций управления памятью. В делфе процветает чёрная магия.
ARK>Переопределить можно много чего, но это не значит, что это общепринятая практика.
Это очень похоже на общепринятую практику, потому что, например, FastMM используется повсеместно.
Всё сказанное выше — личное мнение, если не указано обратное.
Здравствуйте, AlexRK, Вы писали:
ARK>Здравствуйте, Философ, Вы писали:
Ф>>>>из-за наследования конструкторов ARK>>>А что в этом плохого?
Ф>>Потому, что профит от метаклассов полностью перекрывается тем, что это порождает трудноуловимые ошибки. Ф>>Попробуй, найти здесь ошибку вот здесь:
ARK>1) этот код не компилируется (вперемешку английские и русские буквы); ARK>2) здесь нет наследования конструкторов; ARK>3) онлайн-компилятора Delphi не нашел, воспользовался совместимым с ним FPC здесь: http://ideone.com/
Я специально поставил русскую букву, чтобы было неочевидно. Делфя это компилирует, разговор здесь именно про неё.
begin
obj := TC.Create(1); //В этой строке вызовется TA.Create() на то и был рассчётэто и есть косяк наследования контрукторов
obj.WriteHimself(); //Ожидаем 1 увидеть, ибо в конструкторе "FPrivateIntVar := p_int", правильно? Запусти, и посмотри.end.
ARK>Никаких -1. Вы сами свой пример проверяли?
Естественно проверял.
Всё сказанное выше — личное мнение, если не указано обратное.
Здравствуйте, Философ, Вы писали:
Ф>Я специально поставил русскую букву, чтобы было неочевидно. Делфя это компилирует, разговор здесь именно про неё.
Ф>
Ф>begin
Ф> obj := TC.Create(1); //В этой строке вызовется TA.Create() на то и был рассчётэто и есть косяк наследования контрукторов
Ф> obj.WriteHimself(); //Ожидаем 1 увидеть, ибо в конструкторе "FPrivateIntVar := p_int", правильно? Запусти, и посмотри.
Ф>end.
Ф>
Ну вообще-то это не наследование конструкторов, а просто вызов ошибочного метода.
Оставив в стороне надуманность данного примера (почему-то вас не насторожило в intellisence наличие двух одинаковых методов Create с одинаковой сигнатурой), замечу, что в любом языке с наследованием все то же самое.
class A
{
public void Method()
{
Console.WriteLine(1);
}
}
class B : A
{
public void Mеthod()
{
Console.WriteLine(-1);
}
}
...
(new B).Method(); // напечатало 1, о ужос
Здравствуйте, AlexRK, Вы писали:
ARK>Здравствуйте, Философ, Вы писали:
Ф>>Я специально поставил русскую букву, чтобы было неочевидно. Делфя это компилирует, разговор здесь именно про неё.
Ф>>
Ф>>begin
Ф>> obj := TC.Create(1); //В этой строке вызовется TA.Create() на то и был рассчётэто и есть косяк наследования контрукторов
Ф>> obj.WriteHimself(); //Ожидаем 1 увидеть, ибо в конструкторе "FPrivateIntVar := p_int", правильно? Запусти, и посмотри.
Ф>>end.
Ф>>
ARK>Ну вообще-то это не наследование конструкторов, а просто вызов ошибочного метода. ARK>Оставив в стороне надуманность данного примера (почему-то вас не насторожило в intellisence наличие двух одинаковых методов Create с одинаковой сигнатурой), замечу, что в любом языке с наследованием все то же самое.
Create() здесь не просто метод, а именно конструктор. То, что оно здесь с одинаковой сигнатурой — придирка ни про что. Если бы они были с разной сигнатурой, тебя бы не спасло ни разу, тем более что скорее всего не ты бы этот код писал, а кто-то до тебя. Такие ошибки вылазят не в конструкторе, а позже, когда идёт попытка использовать недоинициализированный объект. Но, самая большая трабла которая может приключится с таким подходом будет в том, что ты можешь не знать, о том какой именно класс ты инстанцируешь: у тебя может быть экземпляр метакласса базового типа, через который ты зовёшь конструктор. Чтобы вот так в шарпе попасть как в делфе, нужно Activator использовать, но тут уже ССЗБ.
По твоему примеру: компилятор шарпа на переопределение метода ругается. А чтоб он не ругался нужно new добавить: class B : A{ new public void Method()...
Надеюсь, в твоих проектах не миллион варнингов?
Всё сказанное выше — личное мнение, если не указано обратное.
Здравствуйте, Философ, Вы писали:
Ф>Create() здесь не просто метод, а именно конструктор. То, что оно здесь с одинаковой сигнатурой — придирка ни про что. Если бы они были с разной сигнатурой, тебя бы не спасло ни разу, тем более что скорее всего не ты бы этот код писал, а кто-то до тебя.
Какая разница, конструктор, не конструктор. В моем примере точно так же программа работает некорректно. Язык тут ни при чем.
И на подобные ошибки дельфи не провоцирует. Я, вместе с несколькими другими разработчиками, участвовал в создании средних размеров системы на ней, около 200000 строк, и нигде там такого идиотизма не было.
Ф>Такие ошибки вылазят не в конструкторе, а позже, когда идёт попытка использовать недоинициализированный объект.
Я думаю, излишне в очередной раз напоминать, что в С++ возможны просто горы подобных ошибок?
Ф>Но, самая большая трабла которая может приключится с таким подходом будет в том, что ты можешь не знать, о том какой именно класс ты инстанцируешь: у тебя может быть экземпляр метакласса базового типа, через который ты зовёшь конструктор.
Это не трабла, а дельфийская фича. Встроенный factory method pattern называется.
Знать, какой конкретно класс я инстанцирую, не нужно (мало того, с точки зрения создания грамотного кода знать это вредно).
Ф>По твоему примеру: компилятор шарпа на переопределение метода ругается.
В моем примере точно так же одна буква русская, ничего там не ругается. Полная идентичность.
Здравствуйте, s_aa, Вы писали:
_>Году так в 1995 мне один мужик втирал, что теперь когда в электронной таблице можно обсчитывать все что угодно, программисты уже не нужны.
Здравствуйте, Artem Korneev, Вы писали:
J>>а что не так с перлом? отличный инструмент для своих задач AK>Он трудночитаемый. Есть шутка, что Perl — это "write-only язык". Преувеличение, конечно, но некоторая почва под этим есть.
Это все равно, что винить ручку в плохом почерке врача. А все претензии к Perl фактически сводятся к набору стереотипов, истоков которых никто уже и не вспомнит.
Здравствуйте, Ops, Вы писали:
Ops>>>А он еще жив? На нем что-нибудь новое пишут? В каких областях? P>>Там же где и раньше. Mail.ru и Booking.com написаны на перле. Ops>Специально выделил. Поддержка старых проектов — это само собой, а вот что с новыми, они вообще есть?
Здравствуйте, Ночной Смотрящий, Вы писали:
Ops>>А было бы так — нормально? Ops>>$a []= $b; НС>Нет.
Есть много таких «сокращённых» операторов. И например, оператор конкатенации — $a .= $b, который $a = $a . $b — очень похож на обсуждаемый. Тогда $a []= $b равнозначен $a = $a [] $b, что вполне тянет на нормальный оператор.
Здравствуйте, Слава, Вы писали:
Ops>>Я серьезно. Сам не очень много с ним сталкивался, и не понимаю, чем он так плох, однако все ругают. Язык как язык, при этом вполне неплохое положение с документацией, практически не зная его легко поправить к-л скрипт, а то, что на нем куча говнокода наработана, так это плата за популярность и низкий порог вхождения. С>Тем, что джуниора на перл не возьмут, да и он сам не пойдет. Технология самозаконсервировалась. Сидят где-нибудь старперы-перловики кружком, что есть — поддерживают, а новичков посылают. Старперы кончатся, язык тоже кончится. На этом все.
Это настолько далеко от реальности, что я уверен, ты с этой областью знаком лишь лишь по анекдотам.
Здравствуйте, Ночной Смотрящий, Вы писали:
Ops>>Не-не-не-не, ты не путай тут. Недостатки ЖС не ограничиваются общим с ПХП подмножеством. НС>Все основные недостатки JS воспроизведены в PHP в лучшем виде. PHP это вообще живая демонстрация как делать не надо.
Например, одним из недостатков JS считается прототипная реализация ООП. А в PHP такого нет.
Здравствуйте, anonymous, Вы писали:
A>Это настолько далеко от реальности, что я уверен, ты с этой областью знаком лишь лишь по анекдотам.
Давайте вы меня возьмете на перле писать. За 90 т.р. в месяц. Я правда писать на нем не умею, только две вещи на нем делал — рекламный фильтр для squid, и скрипт, который обновлял зеркало базы drweb, и было это 5 лет назад.
Что, не возьмете? Праа-авильно! Ведь у меня ж опыта нету. У тех, кто пишет на перле давно — ж опыта больше. Самоподдерживающаяся система — новичков нет, новички сами на этом ужасе писать не будут, старперы с ж опытом не видят ничего ужасного и не делают ничего для привлечения новых людей.
Примерно это же происходит с SQL, особенно в "дорогих" областях его применения — Oracle, как пример. Приходишь, тебе начинают задавать вопрос "а вот вот такое у вас было? а сякое — было? А что вы будете делать в таком случае? Ах, вы думаете, а не знаете, вы нам не подходите". Разумеется, у меня не было ни "такого", ни "сякого", и у вас, господа с ж-опытом этот тоже не сразу появилось, и вы тоже это не сразу узнали. Большой компании требуется сотрудник с опытом работы в большой компании, ага-ага.
Гуру рассказывает мне, что я не знаком с областью. Ну так — ты же, гуру, меня в эту область и не пустишь, даже если я туда буду рваться.
Здравствуйте, Слава, Вы писали:
С>Давайте вы меня возьмете на перле писать. За 90 т.р. в месяц. Я правда писать на нем не умею, только две вещи на нем делал — рекламный фильтр для squid, и скрипт, который обновлял зеркало базы drweb, и было это 5 лет назад. Что, не возьмете? Праа-авильно! Ведь у меня ж опыта нету. У тех, кто пишет на перле давно — ж опыта больше.
Нет, я не возьму тебя потому, что ты требуешь неадекватную для джуниора зарплату.
С>Самоподдерживающаяся система — новичков нет, новички сами на этом ужасе писать не будут, старперы с ж опытом не видят ничего ужасного и не делают ничего для привлечения новых людей.
Ты не сталкивался с сообществом, но мнение о нём имеешь.
С>Гуру рассказывает мне, что я не знаком с областью. Ну так — ты же, гуру, меня в эту область и не пустишь, даже если я туда буду рваться.
Здравствуйте, jazzer, Вы писали:
K>>>Perl все еще жив Ops>>А он еще жив? На нем что-нибудь новое пишут? В каких областях?
J>А с чего б ему не жить? Что он, хужеет со временем, что ли?
Здравствуйте, MasterZiv, Вы писали:
K>>>>Perl все еще жив Ops>>>А он еще жив? На нем что-нибудь новое пишут? В каких областях?
J>>А с чего б ему не жить? Что он, хужеет со временем, что ли?
MZ>Да не, он не хужеет, он таким родился. MZ>Горбатым.
Здравствуйте, anonymous, Вы писали:
A>Здравствуйте, Слава, Вы писали:
С>>Давайте вы меня возьмете на перле писать. За 90 т.р. в месяц. A>Нет, я не возьму тебя потому, что ты требуешь неадекватную для джуниора зарплату.
Не столь давно джуниору платили 40-50 т.р., это 1300-1600 долларов США. Пересчитай на текущий курс, можешь даже чуть снизить. Это — адекватная оплата. К слову, администратору в салоне (для технарей — парикмахерская это), который чеки бьет и чай-кофе наливает, платят 40 т.р., и при этом не требуют знания 3НФ и шахады "полиморфизм-наследование-народность"
И, я не совсем чтобы джуниор. Знаний у меня немало, и за них надо платить, деньгами. Вот знаешь, приходит человек из прокуратуры в банк, в СБ работать. Что, он в банке работал, опыт имеет? Нет, однако же он денег просит больше начальника IT-отдела, и ему их дают. За корпус знаний которые уже есть. Просто, за статус людям положено платить.
A>Ты не сталкивался с сообществом, но мнение о нём имеешь.
Я это сообщество вживую вижу, вот оно. Стая товарищей, которые зашли в тему в начале ее развития, когда брали всех, кто бит от байта отличить мог.
A>С чего ты взял?
По результатам бесед. Приходит человек, банковский программист (то есть, из конторы, которая деньги зарабатывает), собеседоваться в контору-типа стартап с господдержкой, которая денег еще не заработала. Там его радостно встречает гуру и начинает задавать вопросы, на которые соискатель не может ответить. Собеседующему это по-приколу просто, он не ищет сотрудника.
Здравствуйте, anonymous, Вы писали:
A>Например, одним из недостатков JS считается прототипная реализация ООП.
Кем считается? Его максимум спорным можно назвать. Но вот так однозначно недостатком? А в Self и Lua это тоже недостаток?
Недостаток JS это динамическая типизация, а проблемы с прототипами — лишь следствие из нее.
Здравствуйте, Слава, Вы писали:
С>>>Давайте вы меня возьмете на перле писать. За 90 т.р. в месяц. A>>Нет, я не возьму тебя потому, что ты требуешь неадекватную для джуниора зарплату. С>Не столь давно джуниору платили 40-50 т.р., это 1300-1600 долларов США. Пересчитай на текущий курс, можешь даже чуть снизить. Это — адекватная оплата. К слову, администратору в салоне (для технарей — парикмахерская это), который чеки бьет и чай-кофе наливает, платят 40 т.р., и при этом не требуют знания 3НФ и шахады "полиморфизм-наследование-народность"
С чего ты взял, что зарплата должна расти вместе с долларом? Ты не в США живёшь. Не устраивает зарплата, можешь сменить профессию.
С>И, я не совсем чтобы джуниор. Знаний у меня немало, и за них надо платить, деньгами. Вот знаешь, приходит человек из прокуратуры в банк, в СБ работать. Что, он в банке работал, опыт имеет? Нет, однако же он денег просит больше начальника IT-отдела, и ему их дают. За корпус знаний которые уже есть. Просто, за статус людям положено платить.
Это не важно, если ты свои знания применить не можешь, поскольку инструментом не владеешь. Какая польза от твоих знаний, если они не конвертируются в код? Это, может, в банке за дипломы в рамках платят, а тут платят за дела.
A>>Ты не сталкивался с сообществом, но мнение о нём имеешь. С>Я это сообщество вживую вижу, вот оно. Стая товарищей, которые зашли в тему в начале ее развития, когда брали всех, кто бит от байта отличить мог.
Я не знаю, что ты там видишь. Вполне возможно, что ты сейчас галлюцинируешь.
A>>С чего ты взял? С>По результатам бесед. Приходит человек, банковский программист (то есть, из конторы, которая деньги зарабатывает), собеседоваться в контору-типа стартап с господдержкой, которая денег еще не заработала. Там его радостно встречает гуру и начинает задавать вопросы, на которые соискатель не может ответить. Собеседующему это по-приколу просто, он не ищет сотрудника.
Здравствуйте, Ночной Смотрящий, Вы писали:
A>>Например, одним из недостатков JS считается прототипная реализация ООП. НС>Кем считается? Его максимум спорным можно назвать. Но вот так однозначно недостатком? А в Self и Lua это тоже недостаток?
Очень многими, кто не осилил. Не спроста такое количество эмуляторов классов для JS написано.
НС>Недостаток JS это динамическая типизация, а проблемы с прототипами — лишь следствие из нее.
Ах, ну да, ну да. Есть правильные языки, а есть языки с динамической типизацией.
Здравствуйте, anonymous, Вы писали:
A>С чего ты взял, что зарплата должна расти вместе с долларом? Ты не в США живёшь. Не устраивает зарплата, можешь сменить профессию.
Зарплата должна расти вместе с расходами. Расходы растут.
A>Это не важно, если ты свои знания применить не можешь, поскольку инструментом не владеешь. Какая польза от твоих знаний, если они не конвертируются в код? Это, может, в банке за дипломы в рамках платят, а тут платят за дела.
Польза от знаний такая, что если денег человеку не платить, можно от него огрести неприятностей. Платят еще и за лояльность. Просто программисты очень уж травоядны, вот им и дают денег по остаточному принципу.
A>Я не знаю, что ты там видишь. Вполне возможно, что ты сейчас галлюцинируешь.
Еще раз, медленно и с начала. Некогда на перле писало полтора человека, проекты были маленькие и простенькие, взять можно было кого угодно, вот и брали, вас взяли, например. С тех пор проекты подросли, подросли и требования к соискателям. Теперь объясни, зачем человеку учить язык, область применения которого год от года сужается? Только ради каких-то бОльших денег, чем в более мейнстримных областях. Подход "приходи к нам, будешь чистить вилкой (см. 'Зеленый слоник') три года, а потом мы тебе, МОЖЕТ БЫТЬ, поднимем оплату" здесь не работает, платить нужно МНОГО и СРАЗУ, иначе никто не придет.
Здравствуйте, Слава, Вы писали:
A>>С чего ты взял, что зарплата должна расти вместе с долларом? Ты не в США живёшь. Не устраивает зарплата, можешь сменить профессию. С>Зарплата должна расти вместе с расходами. Расходы растут.
Не в 2 раза.
A>>Это не важно, если ты свои знания применить не можешь, поскольку инструментом не владеешь. Какая польза от твоих знаний, если они не конвертируются в код? Это, может, в банке за дипломы в рамках платят, а тут платят за дела. С>Польза от знаний такая, что если денег человеку не платить, можно от него огрести неприятностей. Платят еще и за лояльность. Просто программисты очень уж травоядны, вот им и дают денег по остаточному принципу.
Мы всё ещё наём на работу программиста обсуждаем?
A>>Я не знаю, что ты там видишь. Вполне возможно, что ты сейчас галлюцинируешь. С>Еще раз, медленно и с начала. Некогда на перле писало полтора человека, проекты были маленькие и простенькие, взять можно было кого угодно, вот и брали, вас взяли, например. С тех пор проекты подросли, подросли и требования к соискателям.
Когда я был джуниором, я всегда проходил серьёзные собеседования. Это сейчас меня могут взять на работу просто по рекомендации. Таким образом все посылки для твоих рассуждений оказываются высосанными из пальца.
С>Теперь объясни, зачем человеку учить язык, область применения которого год от года сужается? Только ради каких-то бОльших денег, чем в более мейнстримных областях. Подход "приходи к нам, будешь чистить вилкой (см. 'Зеленый слоник') три года, а потом мы тебе, МОЖЕТ БЫТЬ, поднимем оплату" здесь не работает, платить нужно МНОГО и СРАЗУ, иначе никто не придет.
Область применения Perl если и сужается, то не такими темпами, что вдруг можно остаться без работы. И уж понятное дело, большие деньги получают вовсе не джуниоры. Хочешь больших денег, поработай сначала за маленькие. Именно такой подход работает здесь, как и везде.
Здравствуйте, anonymous, Вы писали:
A>Не в 2 раза.
В 2, а то и в 3 раза поднялись цены на многие товары.
A>Мы всё ещё наём на работу программиста обсуждаем?
Да. Программист может сделать многое, что принесет его компании прямые убытки. Просто не делают.
A>Когда я был джуниором, я всегда проходил серьёзные собеседования. Это сейчас меня могут взять на работу просто по рекомендации. Таким образом все посылки для твоих рассуждений оказываются высосанными из пальца.
Так я и не джуниор. Только не в перле.
A>Область применения Perl если и сужается, то не такими темпами, что вдруг можно остаться без работы. И уж понятное дело, большие деньги получают вовсе не джуниоры. Хочешь больших денег, поработай сначала за маленькие. Именно такой подход работает здесь, как и везде. A>Хочешь больших денег, поработай сначала за маленькие. A>Хочешь больших денег, поработай сначала за маленькие. A>Хочешь больших денег, поработай сначала за маленькие.
Понятно, сладкого хлеба покушать и так далее.
A>Именно такой подход работает здесь, как и везде.
Не работает. Не бывает джуниоров на перл, а не-джуниоров без опыта на перле перловикам привлекать нечем — денег давать не хотят. Все, перл мертв. ЧТД.
Ты мне объясни мотивацию для двух типов людей:
1) Вчерашнего студента, который выбирает область для себя.
2) Разработчика с опытом, который хочет перейти на другую работу.
В чем смысл для этих людей писать на перле, при условии, что до того они на перле не писали?
Здравствуйте, Слава, Вы писали:
A>>Не в 2 раза. С>В 2, а то и в 3 раза поднялись цены на многие товары.
А на некоторые нет.
A>>Мы всё ещё наём на работу программиста обсуждаем? С>Да. Программист может сделать многое, что принесет его компании прямые убытки. Просто не делают.
Ну и что, платить ему за это?
A>>Когда я был джуниором, я всегда проходил серьёзные собеседования. Это сейчас меня могут взять на работу просто по рекомендации. Таким образом все посылки для твоих рассуждений оказываются высосанными из пальца. С>Так я и не джуниор. Только не в перле.
В том-то и проблема, твои достижения в других областях не делают тебя полезным, поскольку ты не владеешь инструментом. Меня вот тоже никто синьором на Си++ не возьмёт.
A>>Хочешь больших денег, поработай сначала за маленькие. С>Понятно, сладкого хлеба покушать и так далее.
А ты как хотел? Заплатите мне много денег, а я, может быть, потом окуплюсь?
A>>Именно такой подход работает здесь, как и везде. С>Не работает. Не бывает джуниоров на перл, а не-джуниоров без опыта на перле перловикам привлекать нечем — денег давать не хотят. Все, перл мертв. ЧТД.
Почему-то я вижу джуниоров на Perl. Ч. т. д. А ты напоминаешь средневекового схоласта, который умозрительно мог доказать всё что угодно, а при столкновении с реальностью отрицал её.
С>Ты мне объясни мотивацию для двух типов людей: С>1) Вчерашнего студента, который выбирает область для себя.
Студенты редко так делают, область находится случайно при первых попытках работать по специальности, а Perl-джуниор может получать хорошие деньги для студента.
С>2) Разработчика с опытом, который хочет перейти на другую работу. С>В чем смысл для этих людей писать на перле, при условии, что до того они на перле не писали?
Разработчику с опытом могут предложить хорошие деньги, но он должен в короткий срок самостоятельно освоить инструмент. В общем-то, к примеру, в веб-программировании, переходы между Perl, PHP, Python и Ruby не редкость.
Здравствуйте, anonymous, Вы писали:
A>Ну и что, платить ему за это?
Конечно платить, многим людям платят за ответственность. За то, чтобы не делал, чего не надо.
Вот например на Украине не платили силовикам и тому подобным людям. В результате люди организовались сами, и началась война. "Папа денег не дает, Шурик деньги сам возьмет", см. перестроечный фильм "Гений".
A>В том-то и проблема, твои достижения в других областях не делают тебя полезным, поскольку ты не владеешь инструментом. Меня вот тоже никто синьором на Си++ не возьмёт.
Согласись, что сеньор из другой области заслуживает все же бОльшего, чем полный джуниор.
A>А ты как хотел? Заплатите мне много денег, а я, может быть, потом окуплюсь?
Именно так работает система образования. И нынешние стоны "ах, где же специалисты" как раз происходят из того, что не хотели платить "за будущее". Экономили, доэкономились.
A>Почему-то я вижу джуниоров на Perl. Ч. т. д. А ты напоминаешь средневекового схоласта, который умозрительно мог доказать всё что угодно, а при столкновении с реальностью отрицал её.
Джуниоры на перле получают денег больше, чем на C# или на Java, или, прости господи, на PHP?
A>Разработчику с опытом могут предложить хорошие деньги, но он должен в короткий срок самостоятельно освоить инструмент.
Ясно, так в какую суммы ты оценишь человека с опытом, который хочет перейти из C# в Perl?
Здравствуйте, Слава, Вы писали:
A>>Ну и что, платить ему за это? С>Конечно платить, многим людям платят за ответственность. За то, чтобы не делал, чего не надо.
Ответственность вообще-то предполагается при приёме на работу любого сотрудника.
A>>В том-то и проблема, твои достижения в других областях не делают тебя полезным, поскольку ты не владеешь инструментом. Меня вот тоже никто синьором на Си++ не возьмёт. С>Согласись, что сеньор из другой области заслуживает все же бОльшего, чем полный джуниор.
Да.
A>>А ты как хотел? Заплатите мне много денег, а я, может быть, потом окуплюсь? С>Именно так работает система образования. И нынешние стоны "ах, где же специалисты" как раз происходят из того, что не хотели платить "за будущее". Экономили, доэкономились.
Я не министерство образования.
A>>Почему-то я вижу джуниоров на Perl. Ч. т. д. А ты напоминаешь средневекового схоласта, который умозрительно мог доказать всё что угодно, а при столкновении с реальностью отрицал её. С>Джуниоры на перле получают денег больше, чем на C# или на Java, или, прости господи, на PHP?
Я не знаю, по понятным причинам я не слежу за этим.
A>>Разработчику с опытом могут предложить хорошие деньги, но он должен в короткий срок самостоятельно освоить инструмент. С>Ясно, так в какую суммы ты оценишь человека с опытом, который хочет перейти из C# в Perl?
Я, честно говоря, с сомнение отношусь к этой затее. Всё таки статический компилируемый язык против динамического интерпретируемого.
Здравствуйте, anonymous, Вы писали: A>Это все равно, что винить ручку в плохом почерке врача. А все претензии к Perl фактически сводятся к набору стереотипов, истоков которых никто уже и не вспомнит.
Не могу не вспомнить классику. Под катом.
(для тех, кто сначала пробует, потом думает — СКРИПТ НЕ ЗАПУСКАТЬ!!)
Здравствуйте, Artem Korneev, Вы писали:
A>>Это все равно, что винить ручку в плохом почерке врача. А все претензии к Perl фактически сводятся к набору стереотипов, истоков которых никто уже и не вспомнит. AK>Не могу не вспомнить классику.
Тут надо только уточнить, что этот код специально запутан. Повседневно так никто не пишет.
Здравствуйте, Слава, Вы писали:
С>Ясно, так в какую суммы ты оценишь человека с опытом, который хочет перейти из C# в Perl?
Я бы гроша ломанного не дал. И не потому, что Perl плохой язык. Просто я не ценю людей придающих большое значение тому, каким инструментом они умеют пользоваться. Вся эта суета вокруг языков программирования выглядит странно. Это как если бы плотник всем доказывал, что работать надо исключительно топором. Нет, виртуозы владения топором вызывают восхищение и уважение, однако в народе всё же бытует поговорка "топорная работа". То бишь не верит народ в возможности работы исключительно топором Чего же тогда программисты всё норовят восхвалять какой-то один язык программирования? Есть задача — написать программу, имей достаточно ума, чтобы выполнить эту задачу используя наиболее подходящий для неё инструмент. Ежели человек зациклился на инструменте вместо результата работы, то нам с ним не по-пути. ИМХО
Здравствуйте, v_andal, Вы писали:
_>Я бы гроша ломанного не дал. И не потому, что Perl плохой язык. Просто я не ценю людей придающих большое значение тому, каким инструментом они умеют пользоваться. Вся эта суета вокруг языков программирования выглядит странно. Это подходящий для неё инструмент. Ежели человек зациклился на инструменте вместо результата работы, то нам с ним не по-пути. ИМХО
Не-не-не, Дэвид Блэйн, ты как-то не так прочитал написанное. Вот есть проект на перле, ему требуются люди. Некий человек согласен пойти туда, то есть — у него уже нет зацикленности на инструменте просто по факту этого желания перейти.
Здравствуйте, Слава, Вы писали:
С>Здравствуйте, v_andal, Вы писали:
_>>Я бы гроша ломанного не дал. И не потому, что Perl плохой язык. Просто я не ценю людей придающих большое значение тому, каким инструментом они умеют пользоваться. Вся эта суета вокруг языков программирования выглядит странно. Это подходящий для неё инструмент. Ежели человек зациклился на инструменте вместо результата работы, то нам с ним не по-пути. ИМХО
С>Не-не-не, Дэвид Блэйн, ты как-то не так прочитал написанное. Вот есть проект на перле, ему требуются люди. Некий человек согласен пойти туда, то есть — у него уже нет зацикленности на инструменте просто по факту этого желания перейти.
Если речь просто о работе где приходится писать на перле, то мой бывший коллега за такую работу в Москве получает около 250т.р. в месяц. Опять же всё зависит от работы. Где-то перл нужен, где-то нет.
Здравствуйте, kurchatov, Вы писали:
K>Каковы будут позиции языков к 2025 году? Я думаю, что:
K>про .net не знаю (я и сейчас не знаю ничего)
Думаю отъест часть рынка Явы.
Сейчас активно опенсорсится, работает на разных платформах, есть Xamarin.
По возможностям уже опережает Яву на неск версий.
Здравствуйте, v_andal, Вы писали:
_>Просто я не ценю людей придающих большое значение тому, каким инструментом они умеют пользоваться.
Типичное молодческое пустобрёхство. Если ты всеми инструментами одинаково плохо владеешь, тебе конечно без разницы, каким молотком шуруп вкручивать!
На деле же, речь не о плотнике (у которого в принципе много инструментов для множества разных работ), а, например, о лётчике, который в совершенстве владеет СУ и который не будет прыгать на вертолёт для того, чтобы перевезти груз — он его довезёт на своём же самолёте и гораздо быстрее, чем пытаться приспособиться к абсолютно другой технике.
ЯП даже мыслить приучает в категориях своих возможностей, поэтому пересесть с C# на Perl просто постому, что Перл якобы что-то лучше обрабатывает — мучение и ненужная трата времени. Про результат вообще молчу.
Здравствуйте, DreamMaker, Вы писали:
DM>Здравствуйте, kurchatov, Вы писали:
K>>Каковы будут позиции языков к 2025 году? Я думаю, что:
DM>в 2025ом году удачливые программисты будут работать таксистами, а менее удачливые — дворниками. DM>их бывшие заказчики, удобно развалившись в кресле с кофе и секретаршей, будут заказывать софт начиная со слов "окей, гугл".
Здравствуйте, kurchatov, Вы писали:
K>Каковы будут позиции языков к 2025 году? Я думаю, что:
K>С++ рулит (стандарты 17, 19, 20, 20.5, ... 25) — но концепты все еще не работают
Ну, жив чертяка
K>Java рулит тоже (куда она денется)
До сих пор 8ка рулит )))
K>Rust похоронен в 2017 (оказалось, что с++17 быстрее и удобнее)
Раст вс еще в стадии роста
K>Haskell все еще используется (только в Standard Chartered)
Наверное
K>Perl все еще жив
До сих пор 5ка рулит )))
K>про .net не знаю (я и сейчас не знаю ничего)
Еще немнго — и он возьмет пальму первенства по количеству бессмысленного и беспощадного синтаксического оверхеда
В принципе он с той пальмой с С++ конкурирует
Здравствуйте, kurchatov, Вы писали:
K>Каковы будут позиции языков к 2025 году? Я думаю, что:
K>С++ рулит (стандарты 17, 19, 20, 20.5, ... 25) — но концепты все еще не работают
Рулит, но концепты по-моему заработали.
K>Java рулит тоже (куда она денется)
Рулит. Да, куда она денется.
K>Rust похоронен в 2017 (оказалось, что с++17 быстрее и удобнее)
Не только не похоронен, но и упорно лезет в мейнстрим. Даже можно сказать, что уже залез.
K>Haskell все еще используется (только в Standard Chartered)
Где-то кем-то используется.
K>Perl все еще жив
С одной стороны жив, язык не заброшен, но даже интересно, есть ли молодые программисты, кто его изучал бы?
В целом, прогноз, наверное где-то на 70% оправдался. В таких прогнозах интересно, что трудно предугадать качественные изменения. Например, появление AI-ассистентов кажется никто не прогнозировал, как и что всерьез обсуждается замена ими джунов.
K>Каковы будут позиции языков к 2025 году? Я думаю, что: K>С++ рулит (стандарты 17, 19, 20, 20.5, ... 25) — но концепты все еще не работают
Рулит K>Java рулит тоже (куда она денется)
Рулит K>Rust похоронен в 2017 (оказалось, что с++17 быстрее и удобнее)
Рулит вполне K>Haskell все еще используется (только в Standard Chartered)
Не знаю K>Perl все еще жив
Понятия не имею K>про .net не знаю (я и сейчас не знаю ничего)
Рулит. Даже на Линуксе net core
Go — тоже рулит
Ну, и JS/TS — куда от них деться
Даже на серверах случается...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, LaptevVV, Вы писали:
K>>Каковы будут позиции языков к 2025 году? Я думаю, что: K>>С++ рулит (стандарты 17, 19, 20, 20.5, ... 25) — но концепты все еще не работают LVV>Рулит
Очень нишевый- не рулит.
K>>Java рулит тоже (куда она денется) LVV>Рулит
Ага. Современный Кобол.
K>>Rust похоронен в 2017 (оказалось, что с++17 быстрее и удобнее) LVV>Рулит вполне
Да, раст растёт, отжирает долю от C. Не от C++ ибо того отдирать нечего в погрешности измерения.
K>>Haskell все еще используется (только в Standard Chartered) LVV>Не знаю
Неуловимый Джо.
K>>Perl все еще жив LVV>Понятия не имею
В легаси пакетах линуха он есть.
K>>про .net не знаю (я и сейчас не знаю ничего) LVV>Рулит. Даже на Линуксе net core
Пончик мёртв. На линухе на него в общем-то пофиг.
LVV>Go — тоже рулит
Где-то используется, но мейнстримом он не стал- к сожалению. Хороший язык.
LVV>Ну, и JS/TS — куда от них деться
Мейнстрим.
LVV>Даже на серверах случается...
Ага.
А чего про Python не упомянули? Пузырь Data Science на 90% питон. Там ещё R, Julia, но питон их зарулил по мейнстримовости.
Здравствуйте, Michael7, Вы писали:
M>В целом, прогноз, наверное где-то на 70% оправдался. В таких прогнозах интересно, что трудно предугадать качественные изменения. Например, появление AI-ассистентов кажется никто не прогнозировал, как и что всерьез обсуждается замена ими джунов.
Здравствуйте, Артём, Вы писали:
K>>>С++ рулит (стандарты 17, 19, 20, 20.5, ... 25) — но концепты все еще не работают Аё>Очень нишевый- не рулит.
K>>>Java рулит тоже (куда она денется) Аё>Ага. Современный Кобол.
K>>>Rust похоронен в 2017 (оказалось, что с++17 быстрее и удобнее) Аё>Да, раст растёт, отжирает долю от C. Не от C++ ибо того отдирать нечего в погрешности измерения.
K>>>про .net не знаю (я и сейчас не знаю ничего) Аё>Пончик мёртв. На линухе на него в общем-то пофиг.
LVV>>Go — тоже рулит Аё>Где-то используется, но мейнстримом он не стал- к сожалению. Хороший язык.
LVV>>Ну, и JS/TS — куда от них деться Аё>Мейнстрим.
Аё>А чего про Python не упомянули? Пузырь Data Science на 90% питон. Там ещё R, Julia, но питон их зарулил по мейнстримовости.
С++ как был на 6-м месте, так и остался.
Java спустился на третье место.
Rust пока не высовывается. Хотя про него много позитивных новостей: даже новую ОС начали на нём писать — Munal OS, драйвера тоже.
С# поднялся на три места, на Линуксе на нём так и пишут — переписывают сервисы с Windows. В корпоративном ПО он отлично виден.
Go очутился в десятке.
Js, Ts и Python — пока рулят, да. Печалька.
Здравствуйте, yoyozhik, Вы писали:
Y>Во втором случае не удивительно, что чисто академический язык рулит. Y>А в первом, непонятно куда смотрит служба безопасности банков.
Чисто для справки: банки jочень активно работают с опенсорсом, а оный сейчас в подавляющем большинстве на гитхабе.
Какое отношение это имеет к "службе безопасности" —
Безопасность банка никак не зависит от того, использует ли он коммерческий SQL Server или опенсорсный Postgres.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, yoyozhik, Вы писали:
Y>Ой, а подскажи, кто уюзает Github ?
Мне все компании перечислить? Ты шутишь.
Y>Финтех туда выкладывает свои проекты?
Использует проекты с гитхаба — да. Выкладывает ли свои — хз, я там не работал. Ядро Линукса, например, на гитхабе есть. Уверен на 100%, что твой финтех Линукс использует.