Объективное сравнение языков программирования -- как?
От: Shmj Ниоткуда  
Дата: 21.11.17 19:58
Оценка: :)
Есть конкретная задача, которую можно решить на Java, C++, C, C# и, к примеру, Python (из не православного) или даже PHP.

Как правило 1 чел. знает 1 язык/платформу в совершнестве и он всегда будет отстаивать его использование. Но, быть может, есть способ быть более объективным?

Вот наличие строгой типизации -- это объективный плюс или спорно?

Наличие инструментов, таких как Resharper (C#) или Idea (Java) -- это объективный плюс?

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

Какие можно привести еще объективные качества?
Re: Объективное сравнение языков программирования -- как?
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 21.11.17 20:07
Оценка: +1 :))) :)
S> Java, C++, C, C# и, к примеру, Python (из не православного) или даже PHP.
S> Какие можно привести еще объективные качества?

Все языки делятся на божественный JavaScript и прочее овно.
Какие могут быть ещё критерии?
Re: Объективное сравнение языков программирования -- как?
От: Pzz Россия https://github.com/alexpevzner
Дата: 21.11.17 20:10
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Вот наличие строгой типизации -- это объективный плюс или спорно?


Строгой типизации, или статической типизации?

Строгая типизация — это когда нельзя число сложить со строкой (в JS можно, в Питоне — нет). Статическая типизация — это когда проверки типов происходит статически, т.е. на этапе компиляции, а не во время исполнения.

S>Наличие инструментов, таких как Resharper (C#) или Idea (Java) -- это объективный плюс?


Кому как. Мне бы не было.

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


Ну на самом деле, очень от задачи зависит.

S>Какие можно привести еще объективные качества?


Если бы одни языки были объективно лучше других, то хорошие бы выжили, а плохие бы сдохли, и в конце концов остался бы один единственный язык. На самом деле, почему-то этого не происходит.
Re: Объективное сравнение языков программирования -- как?
От: kov_serg Россия  
Дата: 21.11.17 20:17
Оценка: +1
Здравствуйте, Shmj, Вы писали:

S>Есть конкретная задача, которую можно решить на Java, C++, C, C# и, к примеру, Python (из не православного) или даже PHP.

Очнь зависит от требований к способу решния. быстро-качественно-дешево выберите любые два

S>Как правило 1 чел. знает 1 язык/платформу в совершнестве и он всегда будет отстаивать его использование. Но, быть может, есть способ быть более объективным?


S>Вот наличие строгой типизации -- это объективный плюс или спорно?

нет

S>Наличие инструментов, таких как Resharper (C#) или Idea (Java) -- это объективный плюс?

нет
Плюс только наличие готовых решений или хотя бы framework-ом для данного класса задач.

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

нет

S>Какие можно привести еще объективные качества?

Наличие огромного числа разработчиков вменяемых пишущих на данном языке (за еду) .
Вы не должны зависеть от разработчиков, так что бы в любой момент можно было уволить бездельников и набрать новых с минимальными потерями для проекта.
Поэтому или PHP, GO или C#
Re: Объективное сравнение языков программирования -- как?
От: Muxa  
Дата: 21.11.17 20:18
Оценка:
S>Но, быть может, есть способ быть более объективным?
Шаг первый: будь объективным.
Шаг второй: не будь необъективным.

S>Какие можно привести еще объективные качества?

Поставь сперва задачу, потом будем обсуждать объективность использования языков.
Re[2]: Объективное сравнение языков программирования -- как?
От: Shmj Ниоткуда  
Дата: 21.11.17 20:40
Оценка:
Здравствуйте, Muxa, Вы писали:

S>>Какие можно привести еще объективные качества?

M>Поставь сперва задачу, потом будем обсуждать объективность использования языков.

А какие критерии вы будете использовать, если будете знать задачу.

Ну, для примера, написать сайт типа RSDN, т.е. информационный с блогами, API и пр.
Re[3]: Объективное сравнение языков программирования -- как?
От: Muxa  
Дата: 21.11.17 21:05
Оценка:
S>>>Какие можно привести еще объективные качества?
M>>Поставь сперва задачу, потом будем обсуждать объективность использования языков.
S>А какие критерии вы будете использовать, если будете знать задачу.
(в алфавитном порядке)
Наличие библиотек где часть функциональности уже реализована/которые помогут упростить разработку недостающей функциональности.
Требования по производительности/скорости разработки.
Что уже используют при заработке в этой области.
Re[3]: Объективное сравнение языков программирования -- как?
От: Ночной Смотрящий Россия  
Дата: 21.11.17 21:06
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Ну, для примера, написать сайт типа RSDN, т.е. информационный с блогами, API и пр.


С/С++ сразу отвалился.
Re: Объективное сравнение языков программирования -- как?
От: koenig  
Дата: 21.11.17 21:30
Оценка: +1 :)
Здравствуйте, Shmj, Вы писали:

S>Есть конкретная задача, которую можно решить на Java, C++, C, C# и, к примеру, Python (из не православного) или даже PHP.


пишите на том, на чем нравится

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

нельзя может быть в виде 'деньги кончатся', 'время кончится', 'энтузиазм кончится', 'багов будет слишком много' и т.д., и т.п., вариантов много.
Re[4]: Объективное сравнение языков программирования -- как?
От: Shmj Ниоткуда  
Дата: 21.11.17 21:49
Оценка: :)
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>С/С++ сразу отвалился.


Почему: http://www.treefrogframework.org/
Re[2]: Объективное сравнение языков программирования -- как?
От: Shmj Ниоткуда  
Дата: 21.11.17 21:50
Оценка:
Здравствуйте, koenig, Вы писали:

K>когда выясните, что задачу — опачки — нельзя решить на каком-то из языков, тогда и поговорим.

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

Дык. В чем фишка выяснять когда деньги кончились? Нужно выяснить пока они есть...
Re: Объективное сравнение языков программирования -- как?
От: Sheridan Россия  
Дата: 22.11.17 06:13
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Как правило 1 чел. знает 1 язык/платформу в совершнестве и он всегда будет отстаивать его использование. Но, быть может, есть способ быть более объективным?

Опыт. Опыт решения разных задач на разных языках. Либо садись и пиши на том, что лучше умеешь.
Matrix has you...
Re[2]: Объективное сравнение языков программирования -- как?
От: Cornetov Россия  
Дата: 22.11.17 11:56
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

S>> Java, C++, C, C# и, к примеру, Python (из не православного) или даже PHP.

S>> Какие можно привести еще объективные качества?
ЭФ>Все языки делятся на божественный JavaScript и прочее овно.

В каждой шутке есть доля истины. Даже в этой.
Re: Объективное сравнение языков программирования -- как?
От: Sharov Россия  
Дата: 22.11.17 11:58
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Вот наличие строгой типизации -- это объективный плюс или спорно?


Плясать надо от задачи -- для сайта хватит и нестрогой(динамической). А для критически важного софта должна быть только строгая.

S>Наличие инструментов, таких как Resharper (C#) или Idea (Java) -- это объективный плюс?


Вторично, но будет плюсом наличие подобного.
Кодом людям нужно помогать!
Re[3]: Объективное сравнение языков программирования -- как?
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 22.11.17 21:07
Оценка:
S> для примера, написать сайт типа RSDN, т.е. информационный с блогами, API и пр.

JavaScript! и node.js на сервере
Re: Объективное сравнение языков программирования -- как?
От: Kolesiki  
Дата: 22.11.17 23:59
Оценка: :)
Здравствуйте, Shmj, Вы писали:

S>Есть конкретная задача, которую можно решить на Java, C++, C, C# и, к примеру, Python (из не православного) или даже PHP.


S>Как правило 1 чел. знает 1 язык/платформу в совершнестве и он всегда будет отстаивать его использование. Но, быть может, есть способ быть более объективным?


Более объективным, ЧЕМ ЧТО? Чем единственный человек, коотрый работает в конторе и знающий только 1 язык? К чему тут вообще слово "объективность"?


S>Вот наличие строгой типизации -- это объективный плюс или спорно?


Абсолютный MUST HAVE.


S>Наличие инструментов, таких как Resharper (C#) или Idea (Java) -- это объективный плюс?


Перечисленные инструменты — фуфлыжка, роли не играют.


S>Ну хорошо, кроссплатформенность. Тут не поспоришь -- объективный плюс.


Ровно наоборот — прежде чем прыгать со своей "многоплатформенностью", ткни свой нос в рынок, ИССЛЕДУЙ его, докажи маркетинговую значимость быть на более, чем одной платформе, приведи экономические выкладки затрат на создание И ПОДДЕРЖАНИЕ программы на всех выбранных платформах, покажи неиллюзорный профит И ТОЛЬКО ТОГДА ты имеешь право открывать рот "а давайте для Линуха запилим! У моего брата убунта стоит!".
Чувствуешь, какой лошара может кричать о нескольких платформах? Вот-вот, ничего не знают, ничего не исследовали, зато у них Qt, Xamarin и прочий шлак.


S>Какие можно привести еще объективные качества?


Только одно — сопровождаемость. Но это комплексный критерий, не для средних умов. Так или иначе, C++, C, пистоноруби и прочие похапэхи идут лесом — они абсолютно не мэйнстримные языки.
Re: Объективное сравнение языков программирования -- как?
От: elmal  
Дата: 23.11.17 04:17
Оценка: +1 :)
Здравствуйте, Shmj, Вы писали:

S>Вот наличие строгой типизации -- это объективный плюс или спорно?

Спорно. Вот, например те, кто пишут на JavaScript, говорят то типизация говно. Ибо заставляет расслабиться. А они в результате использования языка, заставляющего думать, неимоверно прокачали мозги, вообще никогда не ошибаются, им никакие тесты не нужны. Теперь все ошибки на бекэнде. И вообще все фичи обязаны делаться на бекэнде, бек обязан знать логику представления и тому подобное.

S>Наличие инструментов, таких как Resharper (C#) или Idea (Java) -- это объективный плюс?

Тоже спорно. Сторонники работать без IDE говорят, что от нее тупеют. А они благодаря тому, что работают без IDE, теперь стали неимоверно круты.
Re[4]: Объективное сравнение языков программирования -- как?
От: Cornetov Россия  
Дата: 23.11.17 12:34
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

S>> для примера, написать сайт типа RSDN, т.е. информационный с блогами, API и пр.

ЭФ>JavaScript! и node.js на сервере

TypeScript (на клиенте и сервере) предпочтительнее, т.к. подобный сайт довольно емкая задача.
Re[2]: Объективное сравнение языков программирования -- как?
От: Rhino СССР  
Дата: 23.11.17 19:30
Оценка:
Здравствуйте, Kolesiki, Вы писали:

S>>Вот наличие строгой типизации -- это объективный плюс или спорно?

K>Абсолютный MUST HAVE.

S>>Наличие инструментов, таких как Resharper (C#) или Idea (Java) -- это объективный плюс?

K>Перечисленные инструменты — фуфлыжка, роли не играют.
Для EE-явы иде — тоже must have.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re: Объективное сравнение языков программирования -- как?
От: alexzzzz  
Дата: 24.11.17 12:52
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Есть конкретная задача, которую можно решить на Java, C++, C, C# и, к примеру, Python (из не православного) или даже PHP.

...
S>Какие можно привести еще объективные качества?

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

1. Минимальная квалификация программиста, пишущего решение задачи. Насколько быстро человек с улицы, не знающий языка, может приступить к решению.
2. Время написания решения задачи в человеко-часах "стандартным" программистом.
3. Время работы написанного решения, если оно важно.
4. Лёгкость поддержки написанного решения, если задача не одноразовая.

Если искать у языков какие-то объективные качества, то такие качества должны влиять на каждый из этих четырёх пунктов. Например, раз скорость работы решения важна не для всех задач, то значит, скорость не может быть объективным критерием для выбора языка.

В результате получается всего два объективных качества (других не придумал), и оба этих качества не про сам язык, а скорее про то, что вокруг него понастроено:

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