|
|
|
Почему все так сложно?10.05.2018, 20:13. Показов 8790. Ответов 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 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
| 13.05.2018, 04:14 | |
|
Shamil1, java C# F# во первых являться универсальным немогут по определению. Все это узконишевые языки. А в главных имеют слишком урезанные языковые средства по сравнению с С++ поэтому не могут в плане лаконичности с плюсами конкурировать по определению.
1
|
|
|
14745 / 9519 / 1364
Регистрация: 21.01.2016
Сообщений: 35,916
|
||
| 13.05.2018, 04:23 | ||
|
Fulcrum_013, перечисленные выше языки являются языками общего назначения. Вся их "ограниченность" исключительно в их управляемой природе. Да, драйверов на них не напишешь, да и числодробильный код будет уступать неуправляемым языкам, но "нишевыми" их это не делает.
Добавлено через 3 минуты
0
|
||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 13.05.2018, 04:44 | ||
|
Usaga, вообще то компутер есть универсальная числодробилка. все что умеет компутер - числодробить. иллюзия что он умеет что то еще возникает исключительно в результате правильного организованного числодробления. Соответственно то что не предназначенно для числодробилок вообще для программирования фактически непригодно. Т.е. все эти языки в подавляющем большинстве непригодны или малопригодны даже для создания библиотечных средств для самих себя.
Мало того, наличие встроенного GC делает их малопригодными или вообще непригодными для описания сложных древовидных структур данных, а тем более локаничного. Лаконичность, а главное надежность, в таких делах во многом достигается когда огромная часть управления логикой жизни структуры выносится в боковики альтернативных автоматов управления памятью. Опять же отсутствие полноценного механизма шаблонов и множественного наследования в этих языках исключает лаконизм как таковой. Добавлено через 1 минуту
1
|
||
|
14745 / 9519 / 1364
Регистрация: 21.01.2016
Сообщений: 35,916
|
|
| 13.05.2018, 05:26 | |
|
Fulcrum_013, очередная порция херни. Всё как обычно. Спасибо, вы не подводите.
0
|
|
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
| 13.05.2018, 05:32 | |
|
Usaga, Ну продемонстрируйте локанизм шарпа в действии вместо голословных заявлений. Только на крупном проекте. В 10 тыс строк то что на плюсах в такой объем вкладывается никогда не вложите по определению.
0
|
|
|
14745 / 9519 / 1364
Регистрация: 21.01.2016
Сообщений: 35,916
|
|
| 13.05.2018, 05:46 | |
|
Fulcrum_013, голословные ничем не обоснованные утверждения пока что исходят только от вас. Ничего крупного я выкладывать не собираюсь, естественно, ибо всё над чем я работаю - не моё.
Но вы могли бы привести простой сравнительный пример лАконичного выражения на плюсах и соответстующего на шарпе\яве\что-угодно и показать всё наглядно. И с GC мне тоже хотелось бы увидеть подтверждение ваших слов. Не по теме: И русский язык свой подтяните, или проверку орфографии включите уже.
1
|
|
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 13.05.2018, 08:00 | ||
|
Usaga, Дак в том то и дело что у вас все голословно. А соскакивать с темы в духе все проприентарно можно сколько угодно.
Ну давайте так выразите на шарпе что нибудь простенькое. К примеру оконный ООП-фреймверк оборачивающий стандартные контролы винды. У меня пока что в пределах 1000 строк, хотя конечно еще не все настройки контролов поддерживаются (типа шрифта цвета и т.п). Ну да то мелочи. Откатаю до конца связность структуры данных, то все моментом и мизером кода появится. Вчерась часть обработки инфраструктуры связей на боковики автомата вычистки висячих ссылок вынес. Выкинул процентов 50 кода в результате. Просто выкинул а не заменил на что то, при сохранении той же функциональности. Шарп такие абстракции делать если и позволит то сильно затруднит реализацию. Добавлено через 11 минут
0
|
||
|
14745 / 9519 / 1364
Регистрация: 21.01.2016
Сообщений: 35,916
|
||
| 13.05.2018, 08:47 | ||
|
Fulcrum_013, я не соскакивал. Я прямо попросил: обоснуйте свои утверждения о том, что всё кроме С++ - говно. Это вы с меня начали какие-то крупные проекты и фреймворки требовать. Я очень хочу от вас, как автора голословщины (я так считаю, уж извините), увидеть сравнительные примеры.
Пока что ничего нет. И не особо надеюсь видеть. Просто потому, что вы и не используете ничего кроме С++ (что нормально). Но тогда ваши утверждения основаны на ваших же домыслах и субъективного негативного отношения ко всему, что не имеет двух плюсов в названии (что уже не нормально).
0
|
||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 13.05.2018, 09:47 | ||
|
Usaga, Подвох в том что других структур данных в не найдете днем с огнем. Это исходит из того что в любой предметной области существует подобная древовидная группировка объектов без которой объекты не имеют смысла. Т.е. к примеру бессмысленно существование линий чертежа без содержащего их объекта чертеж, бессмысленно существование объекта "поле БД" без содержащего его объекта "таблица БД" и т.д. Соответсвенно бессмыслено и существование GC. Он по большому счету не в состоянии решить проблему утечек поскольку не знает критериев возможности существования объектов в предметной области. Мало того только ведет к проблемам с утечками вынуждая использовать кучу вместо стека, и затрудня создание автоматов разрыва взаимосвязей.
Касательно же другой полезной функции GC - а именно дефрагментации - то в подобных структурах объекты имеют свойства выделяться по оддному при этом локальность данных пр обработке не достижима в принципе. Соответственно наиболее оптимальным решением для ускорения выделения памяти будет не дефрагментация а типизированные пулы константного распределения. Но как бы самый простой способ их реализации - перегрузка операторов new и delete что GC напрочь исключает. Добавлено через 5 минут Добавлено через 10 минут Usaga, Для начала обоснуйте свои утверждения о том что Java, которая не имеет вообще никаких языковы средств ,типа перегрузки операторов, свойств и делегатов, может быть локаничнее зыков которые эти средства имеют. С шарпом же разговор отдельный. Там огромные потери локаничности будут именно в следствие отсутствия автоматической генерации и вызова деструкторов. Это кстати причина по которой паскаль/дельфа и остальные паскалеподобные языки не могут быть настолько лаконичным насколько плюсы, хотя помех со стороны GC не имеет. То же самое касательно дженериков которые сильно урезаны по возможностям по сравнению с полноценными шаблонами. Так что голословщиной на самом деле занимаетесь вы.
0
|
||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,912
|
|||
| 13.05.2018, 13:15 | |||
|
Давайте, например, напишем тип данных "дерево" и универсальную функцию обхода для него. А потом посмотрим, во сколько раз на С++ больше кода потребуется - в пять или в десять.
0
|
|||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 13.05.2018, 13:40 | ||
|
1
|
||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,912
|
||||
| 13.05.2018, 13:48 | ||||
|
Оператор delete обычно вообще не нужен. Но если требуется освобождать какие-то системные ресурсы (кроме памяти), то пишем метод Dispose. Из того, что Вы не знаете, как задача решается на другом ЯП, вовсе не следует, что она не имеет решения. Добавлено через 7 минут Универсальный - значит подходящий для большинства задач.
1
|
||||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||||
| 13.05.2018, 13:57 | |||||
|
Добавлено через 4 минуты А с каких пор SQL стал языком программирования? Давайте не будем путать языки программирования с языками описания данных.
2
|
|||||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,912
|
||||||||||
| 13.05.2018, 14:07 | ||||||||||
|
Возьмём простейший вариант дерева - односвязный список. Вы предлагаете в каждом узле хранить список всех списков, которым он принадлежит?
Если кто-то не умеет по-другому, то ему, конечно, придётся. Ну а тот, кто умеет программировать, обойдётся без этого.
0
|
||||||||||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
| 13.05.2018, 14:19 | |
|
Shamil1, Во первых ссылок у вас будет массивчик. А во вторых жить он будет в другом объекте. посему let и use там не проканают.
0
|
|
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,912
|
||||
| 13.05.2018, 14:20 | ||||
|
Во-вторых, не уходите от ответа. Признайте, что Вы не можете на С++ написать запрос к БД. (Только не предлагайте вариант "сначала написать свою СУБД на С++").
0
|
||||
|
31 / 40 / 6
Регистрация: 04.10.2014
Сообщений: 185
|
|
| 13.05.2018, 14:26 | |
|
Shamil1 экзамен принимаете, нуну )). Почему бы просто не признать что Fulcrum_013 больше Вашего разбирается.
0
|
|
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,912
|
||
| 13.05.2018, 14:28 | ||
|
Для меня Ваши аргументы выглядят примерно так: "Отверстие в доске можно сделать только гвоздём, а сверлом нельзя. Я беру гвоздь и несколько раз бью по нему молотком, затем вытаскиваю гвоздь - и отверстие готово. А сколько ни бей по сверлу молотком, отверстие не сделаешь." И как мне убедить Вас, что бить молотком - это не единственный способ делать отверстия?
2
|
||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,912
|
||||
| 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 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek
ВВЕДЕНИЕ
Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
|