|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
05.09.2012, 00:10 | #1 |
Форумчанин
Регистрация: 15.06.2010
Сообщений: 740
|
Зачем вы используете фреймворки и интерпретируемыя языки программирования?
Здравствуйте!
Зачем, ну зачем вы используете различные фреймворки (что, по сути, является надстройками, процедурами в красивой обертке над стандартными процедурами языка) и различные интерпретируемые языки в программировании (ява, C#, PHP, Perl, Tcl, да тысячи их)??? Многие говорят, что тем самым они оберегают код от возникновения непредвиденной ошибки, как то, к примеру, - утечка памяти. Но ведь, если вы не можете контролировать ошибки - вы что-то не понимаете в программировании, вы не понимаете, как распределяется память, как она выделяется и как она освобождается. Вы пишите алгоритм, не понимая базовых принципов работы процессора, да и вашего алгоритма в целом, если вы не можете контролировать, что будет происходить с памятью в результате его (алгоритма) выполнения. Потом - скорость. Все то, что интерпретируется, или вызывает процедуру, которая вызывает процедуру - это снижение скорости. В случае интерпретатора - сильное снижение скорости, поскольку это можно сравнить с эмуляцией. Ну разве это не так? Да, были какие-то там процессоры наполовину поддерживающие, например, Java байт-код, однако все равно, это костыли. Зачем пытаться исполнить на процессоре инородные инструкции, когда у него есть свои собственные. Если язык интерпретируем, то вы должны загрузить прежде всего в память его интерпретатор - опять таки лишняя трата памяти. Имхо, вы тем самым, поддерживаете производителей процессоров, которым выгодно увеличивать скорость пускай хоть на сотню мегагерц быстрее. Заставляете конечного потребителя покупать все новые и новые процессоры. Хотя задача, которую вы написали, для примера, на PHP с использованием двух-трех сторонних библиотек и подключив пару другую модулей, отдельный SQL-сервер и прочее, могла была быть решена на обычном четвертом пне будь она написана на си с самодельной простенькой БД. Зачем вы заставляете нас (пользователей) все время апгрейдить компы?
Чтобы понять рекурсию, сперва нужно понять рекурсию.
|
05.09.2012, 00:15 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Дык видимо время разработчика дороже нового процессора.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
05.09.2012, 00:16 | #3 | |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Цитата:
Динамическим языкам нужна "прогревка", т.е. некоторое начальное время они будут исполняться не особо шустро, т.к. по причинам, которые вы описали, но далее они будут "прогреты" и приведины благодаря JIT (или что там для определенного языка) в бинарный код в памяти, который будет так же быстро выполняться если был бы изначально написан на С, к примеру. Последний раз редактировалось BOBAH13; 05.09.2012 в 00:19. |
|
05.09.2012, 00:22 | #4 |
Форумчанин
Регистрация: 15.06.2010
Сообщений: 740
|
Дороже в конечном счете для кого? Для пользователя? - да, несомненно. Об этом и речь.
Чтобы понять рекурсию, сперва нужно понять рекурсию.
|
05.09.2012, 00:26 | #5 |
Форумчанин
Регистрация: 21.01.2009
Сообщений: 719
|
Само собой присоединяюсь к фразе про стоимость разработчика, это должно быть очевидно)
Дороже для работодателя и в конечном итоге для пользователя, вынужденного платить круглые суммы за софт (ну не в этой стране, ладно))) А про скорость таких языков подкину пример: программа на C#, как известно, хранится в виде байт-кода, но при запуске перегоняется в машинный (потому так и подвисает при запуске), да вот только прикол в том, что .NET Framework может при этом оптимизировать программу под тот конкретный процессор (!), который стоит у пользователя, чего не сделать ни на каком С[++]. Всё относительно.
Изобретатель велосипедов
|
05.09.2012, 00:27 | #6 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Разработка ПО = деньги, время = деньги, причем тут пользователь? Пользователь не чувствует скорость или проблемы с ПО до 1 секунды, вы выиграите временно или же максимум несколько мс от написания на С, как вы намекаете.
|
05.09.2012, 00:29 | #7 | ||
Форумчанин
Регистрация: 15.06.2010
Сообщений: 740
|
Цитата:
Цитата:
Чтобы понять рекурсию, сперва нужно понять рекурсию.
|
||
05.09.2012, 00:31 | #8 |
Форумчанин
Регистрация: 21.01.2009
Сообщений: 719
|
Хорошо, тогда встречный вопрос: почему не пишут, скажем, на ассемблере? Ведь всё будет летать! И можно будет спасти каждый килобайт, жадно сжираемый фреймвокрами!
Изобретатель велосипедов
|
05.09.2012, 00:37 | #9 |
Форумчанин
Регистрация: 15.06.2010
Сообщений: 740
|
Почему не пишут? Пишут и еще как ого-го. Ну, конечно не буду скромничать и начну с себя , и скажу, что, например, я пишу. А потом продолжим хотя-бы каким-нибудь там небольшим проектом типа Firefox или Chrome. Ну, это то, что мы можем созерцать в исходниках. Показать вам, что конкретно из мною выше озвученных проектов написано на ассемблере?
Чтобы понять рекурсию, сперва нужно понять рекурсию.
|
05.09.2012, 00:40 | #10 | ||
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Цитата:
На счет ресурсов, если говорим о серверной стороне - то пользователя это вообще не касется, все ресурсы оплачены не им. Знания и понимание эмуляторов и подходов к JIT - никак не связано с тем, писал ли я собственный велосипед. Да, соглашусь, исполняется медленней, я с этим даже и не спорю/ил, я говорил, что спустя некоторое время, код более не нуждается в интерпретации, т.к. уже был интерпритирован и приведен к текущей, актуальной архитектуре процессора и исполняется в памяти как бинарный, как любой другой код - на этом этапе нет никакой разницы на каком языке и с использованием чего это было написано. Цитата:
|
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Языки программирования | Jony217 | PHP | 7 | 08.05.2011 19:18 |
Языки программирования | xNIGA | Свободное общение | 20 | 10.09.2010 22:25 |
Языки Программирования..Прошу Помочь. | ThreeX | Помощь студентам | 20 | 12.01.2010 11:29 |
Языки программирования | doniyor | Свободное общение | 6 | 20.12.2009 21:42 |