|
|
|
Почему все так сложно?10.05.2018, 20:13. Показов 8442. Ответов 160
Метки нет (Все метки)
Здравствуйте! Почему все так сложно в мире программирования, казалось бы простом?
Например, чтобы написать приложение на vue нужно выдумывать подключение к api которое нужно писать на django (например) и у которого десятки файлов с "кодом" с моделями, вьюхами, урлами, подключением к postgresql дальше нужно настраивать синхронизацию, потом писать разрешения и в vue и в django... Или на php - пишем код, потом берем фронтенд, более менее приличный, получается только на angular, vue, react пишем отдельно код на php потом пишем структуру базы данных , схему, саму базу формируем и создаем потом описываем подключение хорошо, если программист знает, что нужно сразу писать api к которому подключаться любым фронтом, а если нет... тогда или tpl-ки клепать, или придумывать php+html в котром тоже, гемор еще тот ... почему до 2010 года был линукс, мягко говоря, "консольный"... и пока до них дошло, что система должна быть визуальной - как windows - зато теперь красота! ubuntu 18 - почти идеальна! Также и с программированием! Зачем все эти сложности? Теоретически, ведь можно взять принцип моделей от django, которые простым python3 manage.py makemigrations + migrate делает всю работу по моделированию базы данных... но! Встает вопрос - а как потом работать? Нужно что-то похожее на vue, но только в ЖЕСТКОЙ связке с api с моделями! Обсудим? Какие есть решения? Добавлено через 27 минут по сути, это должно быть простым CRUD приложением но с возможностью подключения к базе данных
0
|
|
| 10.05.2018, 20:13 | |
|
Ответы с готовыми решениями:
160
Zend Framework - почему всё так сложно? Почему так сложно? Делегаты "почему так сложно а ?:(" |
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
| 13.05.2018, 04:14 | |
|
Shamil1, java C# F# во первых являться универсальным немогут по определению. Все это узконишевые языки. А в главных имеют слишком урезанные языковые средства по сравнению с С++ поэтому не могут в плане лаконичности с плюсами конкурировать по определению.
1
|
|
|
14367 / 9468 / 1360
Регистрация: 21.01.2016
Сообщений: 35,718
|
||
| 13.05.2018, 04:23 | ||
|
Fulcrum_013, перечисленные выше языки являются языками общего назначения. Вся их "ограниченность" исключительно в их управляемой природе. Да, драйверов на них не напишешь, да и числодробильный код будет уступать неуправляемым языкам, но "нишевыми" их это не делает.
Добавлено через 3 минуты
0
|
||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 13.05.2018, 04:44 | ||
|
Usaga, вообще то компутер есть универсальная числодробилка. все что умеет компутер - числодробить. иллюзия что он умеет что то еще возникает исключительно в результате правильного организованного числодробления. Соответственно то что не предназначенно для числодробилок вообще для программирования фактически непригодно. Т.е. все эти языки в подавляющем большинстве непригодны или малопригодны даже для создания библиотечных средств для самих себя.
Мало того, наличие встроенного GC делает их малопригодными или вообще непригодными для описания сложных древовидных структур данных, а тем более локаничного. Лаконичность, а главное надежность, в таких делах во многом достигается когда огромная часть управления логикой жизни структуры выносится в боковики альтернативных автоматов управления памятью. Опять же отсутствие полноценного механизма шаблонов и множественного наследования в этих языках исключает лаконизм как таковой. Добавлено через 1 минуту
1
|
||
|
14367 / 9468 / 1360
Регистрация: 21.01.2016
Сообщений: 35,718
|
|
| 13.05.2018, 05:26 | |
|
Fulcrum_013, очередная порция херни. Всё как обычно. Спасибо, вы не подводите.
0
|
|
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
| 13.05.2018, 05:32 | |
|
Usaga, Ну продемонстрируйте локанизм шарпа в действии вместо голословных заявлений. Только на крупном проекте. В 10 тыс строк то что на плюсах в такой объем вкладывается никогда не вложите по определению.
0
|
|
|
14367 / 9468 / 1360
Регистрация: 21.01.2016
Сообщений: 35,718
|
|
| 13.05.2018, 05:46 | |
|
Fulcrum_013, голословные ничем не обоснованные утверждения пока что исходят только от вас. Ничего крупного я выкладывать не собираюсь, естественно, ибо всё над чем я работаю - не моё.
Но вы могли бы привести простой сравнительный пример лАконичного выражения на плюсах и соответстующего на шарпе\яве\что-угодно и показать всё наглядно. И с GC мне тоже хотелось бы увидеть подтверждение ваших слов. Не по теме: И русский язык свой подтяните, или проверку орфографии включите уже.
1
|
|
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 13.05.2018, 08:00 | ||
|
Usaga, Дак в том то и дело что у вас все голословно. А соскакивать с темы в духе все проприентарно можно сколько угодно.
Ну давайте так выразите на шарпе что нибудь простенькое. К примеру оконный ООП-фреймверк оборачивающий стандартные контролы винды. У меня пока что в пределах 1000 строк, хотя конечно еще не все настройки контролов поддерживаются (типа шрифта цвета и т.п). Ну да то мелочи. Откатаю до конца связность структуры данных, то все моментом и мизером кода появится. Вчерась часть обработки инфраструктуры связей на боковики автомата вычистки висячих ссылок вынес. Выкинул процентов 50 кода в результате. Просто выкинул а не заменил на что то, при сохранении той же функциональности. Шарп такие абстракции делать если и позволит то сильно затруднит реализацию. Добавлено через 11 минут
0
|
||
|
14367 / 9468 / 1360
Регистрация: 21.01.2016
Сообщений: 35,718
|
||
| 13.05.2018, 08:47 | ||
|
Fulcrum_013, я не соскакивал. Я прямо попросил: обоснуйте свои утверждения о том, что всё кроме С++ - говно. Это вы с меня начали какие-то крупные проекты и фреймворки требовать. Я очень хочу от вас, как автора голословщины (я так считаю, уж извините), увидеть сравнительные примеры.
Пока что ничего нет. И не особо надеюсь видеть. Просто потому, что вы и не используете ничего кроме С++ (что нормально). Но тогда ваши утверждения основаны на ваших же домыслах и субъективного негативного отношения ко всему, что не имеет двух плюсов в названии (что уже не нормально).
0
|
||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 13.05.2018, 09:47 | ||
|
Usaga, Подвох в том что других структур данных в не найдете днем с огнем. Это исходит из того что в любой предметной области существует подобная древовидная группировка объектов без которой объекты не имеют смысла. Т.е. к примеру бессмысленно существование линий чертежа без содержащего их объекта чертеж, бессмысленно существование объекта "поле БД" без содержащего его объекта "таблица БД" и т.д. Соответсвенно бессмыслено и существование GC. Он по большому счету не в состоянии решить проблему утечек поскольку не знает критериев возможности существования объектов в предметной области. Мало того только ведет к проблемам с утечками вынуждая использовать кучу вместо стека, и затрудня создание автоматов разрыва взаимосвязей.
Касательно же другой полезной функции GC - а именно дефрагментации - то в подобных структурах объекты имеют свойства выделяться по оддному при этом локальность данных пр обработке не достижима в принципе. Соответственно наиболее оптимальным решением для ускорения выделения памяти будет не дефрагментация а типизированные пулы константного распределения. Но как бы самый простой способ их реализации - перегрузка операторов new и delete что GC напрочь исключает. Добавлено через 5 минут Добавлено через 10 минут Usaga, Для начала обоснуйте свои утверждения о том что Java, которая не имеет вообще никаких языковы средств ,типа перегрузки операторов, свойств и делегатов, может быть локаничнее зыков которые эти средства имеют. С шарпом же разговор отдельный. Там огромные потери локаничности будут именно в следствие отсутствия автоматической генерации и вызова деструкторов. Это кстати причина по которой паскаль/дельфа и остальные паскалеподобные языки не могут быть настолько лаконичным насколько плюсы, хотя помех со стороны GC не имеет. То же самое касательно дженериков которые сильно урезаны по возможностям по сравнению с полноценными шаблонами. Так что голословщиной на самом деле занимаетесь вы.
0
|
||
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
|
|||
| 13.05.2018, 13:15 | |||
|
Давайте, например, напишем тип данных "дерево" и универсальную функцию обхода для него. А потом посмотрим, во сколько раз на С++ больше кода потребуется - в пять или в десять.
0
|
|||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 13.05.2018, 13:40 | ||
|
1
|
||
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
|
||||
| 13.05.2018, 13:48 | ||||
|
Оператор delete обычно вообще не нужен. Но если требуется освобождать какие-то системные ресурсы (кроме памяти), то пишем метод Dispose. Из того, что Вы не знаете, как задача решается на другом ЯП, вовсе не следует, что она не имеет решения. Добавлено через 7 минут Универсальный - значит подходящий для большинства задач.
1
|
||||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||||
| 13.05.2018, 13:57 | |||||
|
Добавлено через 4 минуты А с каких пор SQL стал языком программирования? Давайте не будем путать языки программирования с языками описания данных.
2
|
|||||
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
|
||||||||||
| 13.05.2018, 14:07 | ||||||||||
|
Возьмём простейший вариант дерева - односвязный список. Вы предлагаете в каждом узле хранить список всех списков, которым он принадлежит?
Если кто-то не умеет по-другому, то ему, конечно, придётся. Ну а тот, кто умеет программировать, обойдётся без этого.
0
|
||||||||||
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
| 13.05.2018, 14:19 | |
|
Shamil1, Во первых ссылок у вас будет массивчик. А во вторых жить он будет в другом объекте. посему let и use там не проканают.
0
|
|
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
|
||||
| 13.05.2018, 14:20 | ||||
|
Во-вторых, не уходите от ответа. Признайте, что Вы не можете на С++ написать запрос к БД. (Только не предлагайте вариант "сначала написать свою СУБД на С++").
0
|
||||
|
31 / 40 / 6
Регистрация: 04.10.2014
Сообщений: 185
|
|
| 13.05.2018, 14:26 | |
|
Shamil1 экзамен принимаете, нуну )). Почему бы просто не признать что Fulcrum_013 больше Вашего разбирается.
0
|
|
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
|
||
| 13.05.2018, 14:28 | ||
|
Для меня Ваши аргументы выглядят примерно так: "Отверстие в доске можно сделать только гвоздём, а сверлом нельзя. Я беру гвоздь и несколько раз бью по нему молотком, затем вытаскиваю гвоздь - и отверстие готово. А сколько ни бей по сверлу молотком, отверстие не сделаешь." И как мне убедить Вас, что бить молотком - это не единственный способ делать отверстия?
2
|
||
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
|
||||
| 13.05.2018, 14:37 | ||||
|
Добавлено через 4 минуты
1
|
||||
|
31 / 40 / 6
Регистрация: 04.10.2014
Сообщений: 185
|
|
| 13.05.2018, 14:41 | |
|
Не знаю в этих "священных войнах" получаю в разы больше конструктивной информации именно от Fulcrum_013. Так что польза от дискуссий все таки есть, даже в таком ключе ).
1
|
|
| 13.05.2018, 14:41 | |
|
Если с CMS все так просто, то почему сайты все еще делают в блокнотах? Почему так всё и все изменились за последние 15 лет? Почему все так громоздко? Почему все так не любят tkinter? Почему все так не любят Delphi Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация
В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
|
Сукцессия 20. Война автоботов. Делаем ставки. Лёд против "пш-пш!".
anaschu 11.07.2026
Битва ИИ в ризосфере: Как мы скрестили жесткие ОДУ, закон Фика и «подземный шантаж»
Уважаемые коллеги!
Хочу поделиться уникальным опытом ведения междисциплинарной компьютерной разработки. Прямо. . .
|
Сукцессия 19. Какие выводы я сделал из модели? Часть 2.Внутримикоризный стехиометрический буфер и хроно-дискретные зоны экспансии
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы
Математический аппарат моделирования
|
Сукцессия 18. Какие выводы я сделал из войны грибов с деревьями? Часть 1- рассказ и немного про термины
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы
Математический аппарат моделирования
Система ОДУ описывает динамику изменения массы различных компонентов системы во времени. Ключевой. . .
|
|
Просветление в 5 секунд
kumehtar 10.07.2026
Андрей Веретенников выдал фразу недавно: "Вам не обязательно кем-то себя считать"
|
Эксперимент с картинкой-обложкой на CodinGame
Adler 10.07.2026
Решил на днях провести эксперимент. У меня есть аккаунт на CodinGame, ТОП-3 по РФ среди 2200 участников (в разделе соревнования по программированию ИИ-ботов). Там есть обложка, куда можно влепить. . .
|
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
|
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
|