LINUX.ORG.RU

О различии подходов к разработке

 


0

4

У меня совсем небольшой опыт в программировании. Тем не менее, кое-какие обобщения я могу, таки сделать.

Выделим 2 подхода к разработке.

1) Язык предоставляет некоторый набор примитивов, но не предоставляет никакого сахара. Программист говорит, ок, то что надо, я напишу свой транслятор в этот язык, где будут реализованы все необходимые абстракции под мою задачу. Получится эффективно, лаконично, и без мусора и лишних телодвижений.

2) Язык предоставляет все необходимое на любой возможный случай. Однако, все учесть невозможно, и время от времени, раздается критика со стороны пользователей языка в адрес разработчика языка, «почему я должен делать это через ж, если можно запилить эту фичу на уровне языка, или стандартной либы?». Вслед за этим, создается just another feature. Однако, чуть позже, раздается критика со стороны других пользователей языка: «язык превратился в переусложненное неповоротливое говно, дизайн языка уродлив, кстати, не забудьте запилить вот эту очень нужную фичу, ее явно не хватает, потому что я не менее одного раза сталкивался со случаем, когда мне пришлось гуглить велосипед, состоящий из целых пяти строк кода, непорядок»

Из моего небольшого опыта, я сделал вывод, что второй подход практикуется гораздо чаще чем первый. Значит ли это, что второй подход кошерней?



Последнее исправление: terminator-101 (всего исправлений: 1)

Ответ на: комментарий от kim-roader

На самом деле, этот 3 подход является подмножеством второго. Если либа становится популярной, она становится стандартом де-факто, и уже не важно, является ли она частью языка или нет.

terminator-101
() автор топика

нет, точнее вопрос некорректно поставлен. Частота «практикования» не особо коррелирует с «кошерностью» подхода.

Пример m$-поделия.

anonymous
()

У меня совсем небольшой опыт в программировании.

Мы знаем.

hateyoufeel ★★★★★
()

У меня совсем небольшой опыт в программировании. Тем не менее, кое-какие обобщения я могу, таки сделать.

У меня совсем небольшой опыт в сельхозработах. Тем не менее, я считаю, нужно полоть вилами, а сено носить лопатами.

vurdalak ★★★★★
()

C++  — пример второго подхода, который не стал совсем уж ужасным.

Solace ★★
()
Ответ на: комментарий от terminator-101

и уже не важно, является ли она частью языка или нет.

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

DarkEld3r ★★★★★
()

Из моего небольшого опыта, я сделал вывод, что второй подход практикуется гораздо чаще чем первый.

А есть вообще примеры более-менее мейнстримовых (ну или пусть хоть активно применяющихся) языков куда не добавляются фичи?

DarkEld3r ★★★★★
()
Ответ на: комментарий от DarkEld3r

Да нет, наверное. Разница только в количестве. Примером мог бы служить Scheme rXrs, наверное, но его мейнстримом не назовешь.

terminator-101
() автор топика
Ответ на: комментарий от terminator-101

У него опыт в программировании был больше, чем у тебя будет когда-либо. Ты просто не знаешь о программировании ничего.

anonymous
()
Ответ на: комментарий от anonymous

Если учитывать, что в момент его первоначальных суждений в сфере информатики, никаких вычислительных машин во вменяемом виде вообще не было, забавно звучит.

terminator-101
() автор топика
Ответ на: комментарий от terminator-101

А теперь сравни какие проблемы решал он без вычислительных машин и какие проблемы решаешь ты, работая с такими мощностями, о которых он даже не мечтал, позабавься.

anonymous
()
Ответ на: комментарий от anonymous

Безопасно, это когда и самому поправить можно, и требовать исправления.

Я так же осознаю что в последнее время политика MSFT нифига не «кошерна», но это не значит что вцелом их подход не верный.

Просто на 2 стульях не усидеть, и нужно выбирать между «красиво и изящно» и «просто работает».

anonymous
()
Ответ на: комментарий от terminator-101

Речь о том, что он имеет отношение к программированию, а ты к манкикодингу на js. Зачем ты приплел его сюда - не понятно.

anonymous
()
Ответ на: комментарий от anonymous

Это к тому, что, строго говоря, написание кода с помощью интерфейса, предоставляемого языком, и программирование, как инженерная дисциплина, это разные вещи.

terminator-101
() автор топика
Ответ на: комментарий от anonymous

Безопасно это когда при попытке выполнить что-то не корректное, процесс падает со страшным треском и как можно раньше.

anonymous
()
Ответ на: комментарий от anonymous

Да, бросая начатые вещи не оконченными, пускай специально обученные люди руками вносят исправления

anonymous
()

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

ixrws ★★★
()
Ответ на: комментарий от energyclab

сколько тебе платят за разведение холиваров на ЛОРе?

он доброволец, хотя может на стипендии от некросовта ;)

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от ixrws

сортируют морковь амёбы

...профессора и академики же ж...

anonymous
()

кошерней?

Второе происходит с языками, придуманными в п.1 в том числе. Т.ч. кошерность ни при чём, арифметика рулит. Сумма натуральных чисел всегда больше каждого.

DonkeyHot ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.