Форум программистов, компьютерный форум, киберфорум
ООП и паттерны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.53/90: Рейтинг темы: голосов - 90, средняя оценка - 4.53
 Аватар для tramp_1-3
16 / 16 / 1
Регистрация: 13.10.2012
Сообщений: 454

Недостатки ООП

16.05.2014, 16:35. Показов 22101. Ответов 318
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задали написать небольшую статью о недостатках этой замечательной парадигмы. В нашей группе прикладной информатики я один более-менее знаком с разработкой, поэтому на придирчивость аудитории можно не рассчитывать, и я решил спросить мнение опытных людей здесь. Я самоучка-теоретик, так и не написавший более-менее достой программы за свою жизнь, поэтому часть этой статьи навеяна из сети, а вот про усложнения - уже исключительной мой загон - не могу просто взять и написать программу. Пишу, думая, что это будет целый Фреймворк. Ну в общем предлагаю вашему вниманию эту коротенькую статью и рассчитываю на объективную критику. Всего полторы страницы - больше просто не знаю к чему придраться.
https://www.dropbox.com/s/m6u9... D0%9F.docx
дропбокс глючит и не дает нормальную ссылку. вот статья под спойлером.
Кликните здесь для просмотра всего текста
Недостатки ООП
Парадима ООП не нова. ООП приобрело популярность во второй половине 80-х вместе с такими языками, как Smalltalk, С++, Objective C (другое расширение C) и некоторыми другими. 25 лет назад никто не ожидал, что “новый” феномен ООП проживет столь долго и сегодня большинство современных языков поддерживают эту парадигму.
ООП стоит на трёх китах:
1.Первый — инкапсуляция — это определение классов — пользовательских типов данных, объединяющих своё содержимое в единый тип и реализующих некоторые операции или методы над ним. Классы обычно являются основой модульности, инкапсуляции и абстракции данных в языках ООП.
2.Второй — наследование — способ определения нового типа, когда новый тип наследует элементы (свойства и методы) существующего, модифицируя или расширяя их. Это способствует выражению специализации и генерализации.
3.Третий, известный как полиморфизм, позволяет единообразно ссылаться на объекты различных классов (обычно внутри некоторой иерархии). Это делает классы ещё удобнее и облегчает расширение и поддержку программ, основанных на них.
Инкапсуляция, наследование и полиморфизм — фундаментальные свойства, которыми должен обладать язык, претендующий называться объектно-ориентированным (языки, не имеющие наследования и полиморфизма, но имеющие только классы, обычно называются основанными на классах). Различные ОО языки используют совершенно разные подходы. Мы можем различать ОО языки, сравнивая механизм контроля типов, способность поддерживать различные программные модели и то, какие объектные модели они поддерживают.
Преимущества этих языков всем известны: повторное использование кода, упрощение разработки больших программ, более логичная структура программы и многие другие. Разберём некоторые недостатки.
Недостатки есть абсолютно у всего – с этим нужно просто смириться. Важно адекватно их оценивать и стараться минимизировать их влияние. То же самое касается и объектно-ориентированной парадигмы программирования.
Есть несколько причин, почему узкие места ООП часто вылазят наружу. Я считаю, что это прежде всего непонимание самой сути объектно-ориентированной техники программирования - восприятие этой парадигмы как серебряной пули. Часто программисты стараются решать абсолютно все задачи, где даже не предвидится конкретных сущностей с их свойствами с помощью объектов, наследования и с помощью объектов. Это очень усложняет процесс. То есть вместо написания парочки функций в процедурной манере и передачи аргументов туда-обратно, программист часто пытается нагромоздить целую иерархию классов и после разгребает проблемы с видимостью классов, доступа к скрытым инкапсуляцией данным.
Таким образом, можно выделить один недостаток объектно-ориентированных языков программирования – избыточность их средств при решении большинства простых задач.
Нужно помнить, что применение ООП это прежде всего моделирование. Для построения хорошей, легко читаемой и сопровождаемой программы необходимо в самом начале разработки предусмотреть сценарии её использования и, что очень важно, изменения – заказчик легко в корне может поменять задачу. Это нетривиальный процесс, в котором часто задействуются даже отдельные языки моделирования. Не каждый способен выделить отдельные сущности и сделать их классами. Ещё меньше людей способны адекватно распределить функции, работающие с данными программы в методы и упаковать их в классы. Для этого нужно уметь мыслить объектно-ориентированными категориями. На всё это уходит драгоценное время. Оно обязательно окупится, если программист имеет дело с большим и сложным проектом, но вряд ли в других случаях, когда требуется просто решить задачу и перейти к другой.
Для меня вывод один, всем известный и общепринятый – не стоит воспринимать парадигмы и языки, их поддерживающие, как божество. Это всего лишь инструмент для решения определенного круга задач. Я думаю, что для объектно-ориентированных языков такие задачи начинаются, когда их решение укладывается более чем в тысячу строк и задачи, которые требуют масштабирования.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.05.2014, 16:35
Ответы с готовыми решениями:

Архитектура с толстым клиентом: какие есть недостатки?
Здравствуйте, коллеги! Сейчас разрабатываем простенькое веб-приложение для учета заказов производственной компании. Функционал несложный:...

ООП ради ООП
Доброго времени суток! Есть к примеру класс Cat который реализует интерфейс Movable, инкапсулирует цвет, и прочее. Имеет ли смысл...

Изучаю Python, сейчас учу основы ООП, где можно найти задачи по ООП
Скиньте пожалуйста источники с задачами(желательно на русском)

318
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
29.08.2016, 18:46
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Shamil1 Посмотреть сообщение
Чем будет мешать мусоросборник?
Тем что механизм заложенный в яве заточен под определенные задачи свойственные для форматирования ввода-вывода.
А в более других задачах может возникать и потребность в более других задачах по управлению памятью. Например удаление объекта на который имеется множество ссылок с обнулением/извлечением из списков ссылок на него.

Цитата Сообщение от Shamil1 Посмотреть сообщение
но, вероятно, решение в том, чтобы использовать более подходящую структуру данных.
Решение в том чтобы использовать более подходящий ЯП.

К примеру в С++ никто давно без автомата управления памятью тоже никто не работает. Но автомат можно делать любой под свои нужды. При этом иметь несколько механизмов для разных объектов даже в одной программе а то и структуре данных.
0
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
31.08.2016, 00:05
Цитата Сообщение от tramp_1-3 Посмотреть сообщение
Пишу, думая, что это будет целый Фреймворк
В таком случае попробуйте писать не просто программы а именно фреймверки. может чего путнего и выйдет.
0
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
31.08.2016, 09:19
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
А в более других задачах может возникать и потребность в более других задачах по управлению памятью. Например удаление объекта на который имеется множество ссылок с обнулением/извлечением из списков ссылок на него.
Удаление объекта, на который имеется множество ссылок, это элементарная операция (одна строка кода).
И, насколько я понимаю, что для того, чтобы удалить объект из списка, его найти и удалить. Математическая задача. Затраченное время (асимптотика) зависит от используемой структуры данных и не зависит от языка программирования.

Добавлено через 3 минуты
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
К примеру в С++ никто давно без автомата управления памятью тоже никто не работает. Но автомат можно делать любой под свои нужды.
Вот и получается, что вместо того, чтобы программировать Задачу, занимаешься отладкой самопальных автоматов.
0
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
31.08.2016, 18:49
Цитата Сообщение от Shamil1 Посмотреть сообщение
И, насколько я понимаю, что для того, чтобы удалить объект из списка, его найти и удалить.
Он может самоудалится.

Добавлено через 51 секунду
Цитата Сообщение от Shamil1 Посмотреть сообщение
Вот и получается, что вместо того, чтобы программировать Задачу, занимаешься отладкой самопальных автоматов.
Отладки там кот наплакал. а код Задачи в результате уменьшается раз в 10.

Добавлено через 6 минут
Цитата Сообщение от Shamil1 Посмотреть сообщение
Затраченное время (асимптотика) зависит от используемой структуры данных и не зависит от языка программирования.
Списки в древовидных структурах обычно небольшие но их много. Очень часто при этом упорядоченность списка не имеет значения. Так что возможно время удаления из одного списка O(1).

Добавлено через 6 минут
Цитата Сообщение от Shamil1 Посмотреть сообщение
Задачу
Знаете почему у программистов С++ за бугром в вакансиях в графе "от" значится раз в 5 больше чем у кодеров Java в графе "до"? Потому что Задачи разные и абсолютно разного назначения и уровня сложности.
0
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
31.08.2016, 19:26
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Знаете почему у программистов С++ за бугром в вакансиях в графе "от" значится раз в 5 больше чем у кодеров Java в графе "до"?
Не поверю, пока не увижу.

Добавлено через 1 минуту
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Он может самоудалится.
Чтобы он "самоудалился", нужно написать код, который будет его "самоудалять". Этот код можно и на C++ написать, и на Java.
0
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
31.08.2016, 22:18
Цитата Сообщение от Shamil1 Посмотреть сообщение
Не поверю, пока не увижу.
Ну зайдите на забугорные сайты посмотрите. Особенно по США. Правда требования кроме знания языка имеют свойства кардинально различатся. Для Java большинство вакансий требует образование High School и предлагают з/п до $40k год. Для С++ - обязательно универское образование и знание кучи математики и з/п от $150-180k в год.
Вобще друг в Филадельфии работает тим-лидом по задачам для бизне-процессов корпораций, разрабатывают на Java. Говорит $100k- предел для тимлида джавы, для С++ это ниже з/п мидла а то и джуниора с годом опыта.
Т.е. раскладка там по языкам такая - для бизнес-процессов корпораций достаточно Java максимум C#. А С++ это для настоящих мужиков которые ракеты в космос запускают, реакторами и роботами управляют, ну как минимум лепят CAD для всех этих космических ядерных авиационных и т.п. дел.
Хотя при всем при этом даже $40k/год по меркам США очень даже не плохая з/п.

Добавлено через 3 минуты
Цитата Сообщение от Shamil1 Посмотреть сообщение
Чтобы он "самоудалился", нужно написать код, который будет его "самоудалять"
Естественно. Но код поддерживающий удаление ссылок на него из контейнеров при его удалении пишется один раз для класса и контейнера в вершине иерархии. Потом уже не важно удалили объект извне т.е. delete obj; или он определил при вызове очередной функции пересчета или реакции на очередное оповещение что он больше не может функциклить или свое отработал и сделать delete this;

Добавлено через 27 минут
Цитата Сообщение от Shamil1 Посмотреть сообщение
Этот код можно и на C++ написать, и на Java.
Можно. Все таки проблему мертвых слушателей на джаве как то лечат. но это задача обратная задаче которую решает сборщик мусора при этом требует накопления обратных связей. В разветвленной древовидной структуре с паритетными связями между узлами сборщику мусора и так не сладко живется. Если эти связи еще и двунаправленными станут ему вообще поплохеет причем чем разветвленней структура и чем больше паритетных связей тем сильнее. Потому как он должен обходить все циклы графа связей при каждой уборке. Без него - один обход при удалении да и то не всего графа связей а от эпицентра удаления до ближайших выживших (это если объекты модели могут при удалении вызвать удаление других связанных с ними объектов, а если не могут просто оповещение всех списков в которых содержатся и не более, причем оповещение отключаемое при чистке/удалении самого списка). Рефкаунтинг при этом присутствует т.к обратные связи имеют количество, при этом не потерять трассу на рут это обычно вообще не задача, учитывая что часто применяются списки владения (т.е. такие списки которые при извлечении из них объекта удаляют его, если такая операция вообще допустима, очень часто делается так что объект заносится в какой либо список владения из конструктора и покидает его в деструкторе, при этом список при его удалении удаляет все свое содержимое). Хотя частенько и возникают вопросы связанные с построением структуры так чтобы минимизировать количество потребных обратных связей.
А вот к примеру двумерные или более мерные массивы лежащие в памяти одним куском и имеющие высокую скорость доступа в джаве будет создать невозможно.
0
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
31.08.2016, 23:12
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Ну зайдите на забугорные сайты посмотрите. Особенно по США.
Дайте ссылку - зайду.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Для Java большинство вакансий требует образование High School и предлагают з/п до $40k год. Для С++ - обязательно универское образование и знание кучи математики и з/п от $150-180k в год.
Какой смысл сравнивать з/п человека, закончившего школу, и человека, закончившего магистратуру? Очевидно, магистр должен больше получать.

Не видел ни на одном сайте, чтобы средняя з/п программиста на каком бы то ни было языке составляла 150-180к. И чтобы программисту с опытом 1 год предлагали 100к.
0
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
01.09.2016, 00:10
Цитата Сообщение от Shamil1 Посмотреть сообщение
Очевидно, магистр должен больше получать.
Вот в том то и дело - вакансии С++ там всегда подразумевают универское образование. А для тех задач которые при помощи джава решаются для большинства требуется школьное образование (т.е. требуют кодеров а не программеров - там эти два понятия четко разделяют). При этом предлагаемые $40k/год - высокая з/п для людей без В/О, для сравнения з/п медсестры около $22-25k/год.
Цитата Сообщение от Shamil1 Посмотреть сообщение
И чтобы программисту с опытом 1 год предлагали 100к.
Ну это еще в реалиях середины нулевых было - для С++ с универским образовнием и опытом год по США вакансии начинались от $120k. Для интернов (последний курс универа совместно с работой) - от $60k (т.е. подавляющее большинство уже универ заканчивают с годом реального опыта). С тех пор цены не упали а только выросли. Нехватка программеров С++ там ужасная, вакансии могут висеть больше года (было дело пару лет назад когда HR-ка чуть ли не головой об стенку билась по поводу того что я на переезд в США не согласен а только на удаленку (для приглашения спеца из-за границы вакансия должна быть зарегистрирована в Федеральном Бюро по Трудоустройству и быть не занятой в течение года )). А вот чего не существует - так это вакансий кодеров С++. В большинстве своем задачи решаемые на С++ не пригодны для решения конвейерным способом разработки ПО, применяется командный способ (каждый в комманде и программер и аналитик и архитектор и кодер, при этом общей постановкой занимается вся команда а каждый реализует свой модуль в соответствии с определенной в процессе анализа спецификацией). При этом есть еще такой интересный момент - если видят что по своему опыту/знаниям/квалификации превосходишь класс задач которые контора решает на работу не возьмут, потому как четко понимаю что если задача спецу не интересна то и особого энтузиазма при ее решении не будет, в лучшем случае будет честная отработка "от звонка до звонка" и занятие своими задачами для души и/или поиск работы с задачами поинтересней .
Да кстати $100k с в/о это не очень высокая з/п. К примеру у экспертов ФБР c в/о и опытом 3 года по любой инженерной специальности з/п начинается от $100k/год. При этом все остальные инженерные специальности в целом по США оплачиваются раза в 2 ниже чем программисты. Вообще программисты в штатах вместе с дантистами и юристами составляют тройку наиболее высоко оплачиваемых профессий.

Добавлено через 21 минуту
Цитата Сообщение от Shamil1 Посмотреть сообщение
Дайте ссылку - зайду.
Ну вот к примеру свежачек начального уровня для бакалавра с $90-$120k/год
4-5 лет пользования С++ - как раз для выпускника колледжа. (там опыт пользования языка указывают а не опыт работы, опыт работы(Career level) - Entry т.е. фактически вообще без опыта работы приймут). И таких там валом.
0
01.09.2016, 00:18

Не по теме:

Цитата Сообщение от Shamil1 Посмотреть сообщение
Не поверю, пока не увижу.
А ты и не верь всяким форумным троллям. Можно здесь посмотреть:
http://www.payscale.com/resear... per/Salary
http://www.payscale.com/resear... eer/Salary
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
А С++ это для настоящих мужиков которые ракеты в космос запускают, реакторами и роботами управляют, ну как минимум лепят CAD для всех этих космических ядерных авиационных и т.п. дел.
C++ - для создания иллюзии квалификации на собеседовании. Вроде как, если ты задрочился в С++, ты задрочишься в чем угодно.

0
01.09.2016, 00:24

Не по теме:

Цитата Сообщение от nimazzzy Посмотреть сообщение
А ты и не верь всяким форумным троллям. Можно здесь посмотреть:
Ну да. В принципе еще существуют вакансии по поддержке древнего 20-30 а то и более летней давности кода бизнес-процессов корпораций на С++ а то и С. Но туда обычно попадают те кто матан нужный для разработки CAD и т.п. не осилили (т.е. двоечники).

0
01.09.2016, 00:26

Не по теме:

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Ну вот к примеру свежачек начального уровня для бакалавра с $90-$120k/год
Те же киберкодеры, Java:
Бакалавр: https://www.cybercoders.com/ja... job-289128 120 -150
Небакалавр: https://www.cybercoders.com/ja... job-259379 130 - 150

0
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
01.09.2016, 01:17

Не по теме:

Цитата Сообщение от nimazzzy Посмотреть сообщение
читаем внимательно требования:
Working knowledge of C, C++, & at least one scripting language (bash, Perl, Python, Ruby …
Цитата Сообщение от nimazzzy Посмотреть сообщение
Небакалавр: https://www.cybercoders.com/ja... job-259379 130 - 150
то что там не написано что бакалавр не факт что магистра возьмут.
The developer will participate and contribute to the analysis, architecture, design and development of innovative web based products. This position provides a great opportunity to participate actively in strategic corporate initiatives and grow into senior technical and leadership roles.
т.е. фактически тимлид-аналитик-архитектор таких по джаве одного на сотню набирают



Добавлено через 24 минуты

Не по теме:

Цитата Сообщение от nimazzzy Посмотреть сообщение
C++ - для создания иллюзии квалификации на собеседовании. Вроде как, если ты задрочился в С++, ты задрочишься в чем угодно.
Да то все фигня. Все иллюзии снимаются одним простейшим вопросом - "какой самый большой баг вылез в продакшине и как разруливали ситуацию"? Это сразу все пылепускания отбрасывает. Причем касательно любого языка/фреймверка/технологии и т.д.



Добавлено через 8 минут

Не по теме:

А вот процент яванцев и приплюснутых заморачивающихся такими вещами как к примеру тороидальный коллайдер или решение уравнений привязки элементов эскиза или даже банальное сложение моментов и импульсов по определению абсолютно разное при чем у яванцев в районе 0. (те кто этим заморачивается быстренько на С++ перебегают)

0
Модератор
Эксперт функциональных языков программирования
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
01.09.2016, 02:07
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Вот в том то и дело - вакансии С++ там всегда подразумевают универское образование.
Университетское образование не является показателем качества языка. Тот же человек, который пишет на С++, мог бы вместо С++ изучить Джаву и получать такую же зарплату.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Ну вот к примеру свежачек начального уровня для бакалавра
4-5 лет С/С++, знание ассемблера и опыт разработки систем реального времени - это, типа, начальный уровень?
0
440 / 432 / 159
Регистрация: 21.05.2016
Сообщений: 1,338
01.09.2016, 02:32
В Австралии, как и в США, судя по приведенным выше ссылкам, зарплаты не зависят от определенного языка. Что java, что c++, что python, зарплаты и требования примерно одинаковые при равных уровнях квалификации. Только работы на java в 5 раз больше чем на с++.

Чтобы устроиться на junior позицию требуется 1-3 года опыта и/или профильное университетское образование.
0
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
01.09.2016, 03:20
Цитата Сообщение от Shamil1 Посмотреть сообщение
Университетское образование не является показателем качества языка.
Университетское образование является показателем знания матана и прочей математики, названия разделов которой далеко не всегда преподы с кафедры вышки слышали. А соответсвенно и класса вычислительных задач которые человек способен решать. При этом Java пользуется преимущественно для задач форматирования ввода-вывода и посредника между клиентом и сервером БД (кстати с этой целью и проектировалась), а С++ для математически высоко нагруженных, системных и реал-тайм задач (которые тоже обычно высоко математически нагружены). Вообще платят там за создание софта для решения тех или иных информационных и вычислительных задач а не за знание языка. При этом класс задач которые решают при помощи Java обычно гораздо ниже класса задач решаемого при помощи С++.

Добавлено через 19 минут
Цитата Сообщение от oldnewyear Посмотреть сообщение
В Австралии, как и в США, судя по приведенным выше ссылкам, зарплаты не зависят от определенного языка
Но зависят от класса решаемых задач независимо от языка. Чисто информационные задачи - это низший класс задач. Австралия в этом плане что Украина - самостоятельной разработки софта для промышленности (CAD и CAM) и науки не ведется, максимум адаптация американских и западноевропейских систем. Единственное направление где Австралия засветилась в разработке математически нагруженного софта - разработка игровых движков.
В США и Западной Европе в этом плане ситуация абсолютно другая. Разные классы задач разные з/п. При этом разработка промышленного и софта ведется преимущественно на С++.

Добавлено через 5 минут
Цитата Сообщение от oldnewyear Посмотреть сообщение
Только работы на java в 5 раз больше чем на с++
Потому как не ведется разрабтка софта для промышленности. Своей разработки преимущественно гоняние туда-сюда салес-репортс и не более (именно для этого Java и создавалась).
0
440 / 432 / 159
Регистрация: 21.05.2016
Сообщений: 1,338
01.09.2016, 03:30
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Но зависят от класса решаемых задач независимо от языка.
Точно так, независимо от языка
0
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
01.09.2016, 03:47
Цитата Сообщение от oldnewyear Посмотреть сообщение
Точно так, независимо от языка
При этом язык при помощи которого решают те или иные задачи имеет свойство зависеть от класса решаемых задач. Java и к примеру PHP проектировались для низшего по сложности класса задач и не очень высокой квалификации программиста, так же как к примеру Visual Basic. А к примеру С++ и АДА универсальные языки для задач любой степени сложности.
0
440 / 432 / 159
Регистрация: 21.05.2016
Сообщений: 1,338
01.09.2016, 03:49
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Java и к примеру PHP проектировались для низшего по сложности класса задач и не очень высокой квалификации программиста
У вас есть какое-нибудь подтверждение этим словам?
0
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
01.09.2016, 03:55
Цитата Сообщение от oldnewyear Посмотреть сообщение
Точно так, независимо от языка
При этом язык при помощи которого решают те или иные задачи имеет свойство зависеть от класса решаемых задач. Java и к примеру PHP проектировались для низшего по сложности класса задач и не очень высокой квалификации программиста, так же как к примеру Visual Basic. А к примеру С++ и АДА универсальные языки для задач любой степени сложности и соответсвенно высоко квалифицированного программиста. Соответственно задачи низшего класса сложности решать на С++ и АДА экономически нецелесообразно. Поэтому в странах где не ведется разработка задач высокой степени сложности (к примеру Австралия, Украина, Греция, Индия) программисты С++ со занием математики будут не сильно востребованны. При этом там где такая разработка ведется существует острая нехватка в специалистах со знанием определенных разделов математики и языка именно С++ и в случае Embedded некоторых специализированных языков программирования конттроллеров , потому как концепцию АДА даже Пентагон давно признал провальной.

Добавлено через 1 минуту
Цитата Сообщение от oldnewyear Посмотреть сообщение
У вас есть какое-нибудь подтверждение этим словам?
Назначение языков - форматирование ввода-вывода и посредничество между клиентом и сервером SQL (формирование SQL запроса из вводимых клиентом данных). Кстати подобной работы при создании глобальных информационных систем действительно валом, при этом каких то особых знаний она не требует.
0
440 / 432 / 159
Регистрация: 21.05.2016
Сообщений: 1,338
01.09.2016, 03:58
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Назначение языков - форматирование ввода-вывода и посредничество между клиентом и сервером SQL (формирование SQL запроса из вводимых клиентом данных).
У вас есть какое-нибудь подтверждение этим словам?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.09.2016, 03:58

Недостатки React
Здравствуйте. Расскажите пожалуйста о недостатках, архитектурный просчетах, неудобствах и т.д. с которыми вы сталкивались при написании...

Укажите на недостатки
Нужна ваша помощь. Написал я программу, которая вычисляет число Pi (в дальнейшем хочу добавить другие числа, и методы вычисления), это моя...

Недостатки AnyLogic
Сразу отмечу - я далёк от программирования и не имеют опыта работы в AnyLogic. Поэтому высказанное ниже носит субъективный характер и...

Какие недостатки
Люди, что можите сказать о http://www.rucar.ru? Заранее спасибо! :)

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
100
Ответ Создать тему
Новые блоги и статьи
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru