avva: (moose)
[personal profile] avva
В комментах к этой Открытой Записи приветствуются любые темы, любые комменты, любые вопросы, любые ответы, любые дискуссии.

Давайте поговорим о чем-нибудь.

Date: 2013-05-02 04:09 pm (UTC)
From: [identity profile] plakhov.livejournal.com
Я рискую ответить не на тот вопрос, т.к. не уверен, что до конца вас понял. Например, для меня Оракл - не язык программирования, а фирма такая. То есть это, видимо, внутренний сленг организации (или отрасли), в которой вы работаете, и под "Ораклом" вы понимаете какой-то диалект SQL, заточенный под оракловские базы данных. Если так, то отличие вот в чём: "Оракл" - это не столько язык программирования, сколько инструмент обращения к огромному количеству уже готового кода, написанного в фирме Oracle (в том числе и на С++ написанного). С++ это набор станков, а "Оракл" - пульт управления электростанцией. На С++ можно написать компьютерную игру или поисковую систему, а на "Оракле" - нельзя. Зато если я начну на С++ писать биллинг, меня сочтут идиотом, и правильно сделают: есть готовый код, в который уже вложено, оценка от балды, 20000 человеко-лет, и вокруг этого кода развернута целая индустрия, поэтому, конечно, не стоит пытаться всё это повторить с нуля.

Но это не совсем ответ на ваш вопрос, поскольку пара "Оракл/C++" не очень репрезентативна. Бывают пары языков высокого уровня, которые и впрямь делают примерно одно и то же, тогда, казалось бы, зачем.

Во-первых, по историческим соображениям. Некоторые новые языки лучше некоторых старых просто потому, что в момент, когда их создавали, люди уже знали больше, и исправили какие-то старые глупости. И уже только этим их существование оправдано. Например, кто "лучше", С++ или Java, сказать невозможно, но оба они точно лучше Алгола.

Во-вторых, по уровню абстракции. Грубо говоря (очень грубо!) на С++ придется чуть зануднее и чуть дольше объяснять компьютеру, что ты имеешь в виду, чем на Java, зато компьютер "поймет" тебя чуть лучше, и в итоге программа будет работать быстрее, и памяти займет меньше. Во многих задачах это совершенно неважно, зато в Java гораздо меньше возможностей для случайного возникновения совсем уж фатального непонимания (на уровне перепутать йодистый калий и цианистый) между компьютером и человеком. А на Python'е можно объяснять компьютеру свои мысли ещё гораздо короче, зато и выполняет он понятое совсем уж медленно.

А есть ещё легендарный волшебный язык Haskell, пользуясь которым, можно коротко объяснять компьютеру такие вещи, которых и сам-то толком не понимаешь, а уж как он потом начнет действовать, сам Вирт не разберёт. Как-то так.

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 30th, 2025 03:06 pm
Powered by Dreamwidth Studios