LINUX.ORG.RU
ФорумTalks

Откровения от создателя PHP

 ,


0

1

http://news.php.net/php.internals/70691

Для Ъ:

Well, there were other factors in play there. htmlspecialchars was a very early function. Back when PHP had less than 100 functions and the function hashing mechanism was strlen(). In order to get a nice hash distribution of function names across the various function name lengths names were picked specifically to make them fit into a specific length bucket. This was circa late 1994 when PHP was a tool just for my own personal use and I wasn't too worried about not being able to remember the few function names.

-Rasmus

И? Насколько я помню, всё успешные вещи создавались на коленке и изначально представляли собой говноког с дефективным дизайном. (Да и в последствии.) А все академически спроектированные вещи так и остались вещами в себе...

atrus ★★★★★
()

Интересно, а кто-нить серьёзно рассматривал сравнение моделей разработки «держим хлам до упора» vs «постоянное ломание совместимости во имя добра»

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

сравнение моделей разработки «держим хлам до упора» vs «постоянное ломание совместимости во имя добра»

А что тут сравнивать-то?
Первый вариант нравится юзерам, но не нравится разработчикам.
Второй вариант наоборот, нравится разработчикам, но бесит пользователей.

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

Ну мне трудно за всю Java говорить, я на ней не пишу, в подробностях не знаю. Но я помню, что хотя бы с GUI там «полный порядок». AWT, Swing, сторонняя SWT, JavaFX и всё равно пользуются сторонней SWT.

К тому же я помню, что первые версии ничего, кроме смеха не вызывали, а вот как только платформу развили, фрагментировали на ME/SE/EE, так сразу дело в гору пошло.

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

а какой там извращенные MVC в swing

swing оставил не очень приятные впечатления, да. Может насчет джавы я и не прав.

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

если верить википедии то java делалсь как наколенная поделка для stb: http://en.wikipedia.org/wiki/Oak_(programming_language)

потом она пролезла в апплеты, а сейчас обосновалась на серверах, причем тяжелое наследие в виде «глобальных» методов, дырявой песочницы, немодульности (проект jigsaw) и прочих фокусов дает знать

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

нда, нормальную хэш-функцию сочинить было слишком сложно

В Форте хэш слов рассчитывался (рассчитывается???) крайне прикольно: первые 3 байта от имени + четвертый — длинна слова.

Так что не ПХП единым... А то что автор Кнута не читал, дык, разве это удивляет?

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

class == модуль

class == модуль был изначально (да и сейчас есть, если пропускать паковку), когда ещё протокол http не заставил пересмотреть основы и сделать упаковку в крупноблоки - ZIP и, наконец, JAR (WAR, EAR).

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

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

Python?

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

Шо хотел, то сказал, а ты распечатай весь список этих глюков питона повесь в рамочку, как идеал.

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

почемубы сразу не вызвать o.len() ?

Ну вызывайте сразу o.__len__(), если вам так удобно. Считайте, что len() - это синтаксический сахар.

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

В Форте хэш слов рассчитывался (рассчитывается???) крайне прикольно: первые 3 байта от имени + четвертый — длинна слова.

В классическом Форте нет никаких хешей слов. При поиске слова происходит побайтовая проверка имён всех слов в цепочках словарей.

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

всё успешные вещи создавались на коленке и изначально представляли собой говноког с дефективным дизайном. (Да и в последствии.)

Вспоминается «just for fan»...

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

Лол, я облажался :) Хотя да, только для вентилятора и годится, но это больше про нетбсд)

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

А потом все начинают вдруг спрашивать: «А почему мы живем в говне?»

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

Потому что это python data model. Почему бы вместо 1 + 2 не вызывать 1.add(2)?

До человека, который каждый божий день вынужден писать if (x.equals(y)), такой пример не дойдет никогда.

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

А все академически спроектированные вещи так и остались вещами в себе...

ТеХ, поцкаль, SQL, mp3. Не говоря уже про алгоритмы и железо.

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

если уж про «соусем классический»(описание двигла конца 60ых) - то там вообщем(от слова совсем) всё на строках и разрешение имён чем то напоминает как в жабкаскрипте ищется имя в скопах.

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

Python?

Пайтон разрабатывался одним человеком, на досуге. Но изначальная продуманность чуть не сыграла с ним злую шутку. Пайтон был создан в начале 90-х, а сколько-нибудь широкое применение он получил уже в 2000-х. 10 лет в подполье за хороший стартовый дизайн? Я считаю, что он ещё легко отделался.

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

Насколько я помню, всё успешные вещи создавались на коленке и изначально представляли собой говноког с дефективным дизайном

Утраиваю.

А все академически спроектированные вещи так и остались вещами в себе...

Номенклатура, формализм и ожидания попила делают своё дело.

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

Дык дело в том, что в те годы наука была такой, полуформально-свободной. То есть в наше время никакого юникса не может быть в принципе.

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

ТеХ, поцкаль, SQL, mp3.

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

Паскаль - ярчайший пример моей мысли. Продуманный язык соревновался сначала с C, потом с C++. Оригинал Вирта умер толком не родившись, Borland пыталась его развивать и даже в какие-то моменты казалось, что язык взлетит (правда тогда он уже сильно отличался от оригинала, разбродом и шатаниями в стандартных модулях, а так же приведением типов, компенсируя строгую лаконичность языка) - ничего не вышло.
В принципе, текущий владелец, Embarcadero, делают правильно, что суют в язык и библиотеку всякую сырую гадость. Но, думаю, плюсы им уже не догнать. Невозможно соревнаваться с языком, у которого лучшие компиляторы всегда на два поколения отстают от свежего стандарта.

SQL был прост и продуман, но авторы знали что делали, не задавая никакого строгого стандарта, что позволило разработчикам серверов наплодить 100500 несовместимых реализаций. Примечательно, что попытки свести всё воедино (SQL'99) провалились и мы до сих пор используем диалекты SQL'92.
Примечательно, что тот же успех, тем же способом получил MIDI, а CORBA провалилась лишь потому, что Microsoft создал ещё более уродливый OLE/COM/ActiveX/DCOM/COM+/>9000 расширений.

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

atrus ★★★★★
()
Последнее исправление: atrus (всего исправлений: 2)

Even before Node.js formally existed, Ryan Dahl proposed the following:


“There is a strict requirement that any request calculates for at most,
say, 5ms before returning to the event loop. If you break the 5ms
limit, then your request handler is never run again (request handlers
will be tied to a certain path/method, I think). If your uploaded
server-side JavaScript is stupid and is blocking (… it calculates the
first 10,000 primes) then it will be killed before completion.
...
Web developers need this sort of environment where it is not pos-
sible for them to do stupid things. Ruby, Python, C++, PHP
are all terrible languages for web development because they allow
too much freedom.

—Ryan Dahl



Ryan Lienhart Dahl
Lienhart

почти Lennart :)

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

unix ?

Это вы про ту, наколеночную примитивную(часть самоназвания) операционку, созданную парой парней из Bell Labs, чтобы поиграться на калькуляторе, который не тянул MULTICS, написанную на таком же наколеночном «кроссплатформенном ассемблере», чей дизайн обеспечил нас десятилетиями багов уровня «переполнение стека», чей автор врал разработчикам, что обеспечил быстрый вызов процедур, чтобы подсадить их на процедурное программирование?

Unix, который едва получив букву «x» вместо «cs», тут же начал расти вместе с чередой Unix-войн реализаций, чуть непогубивших его из-за потери совместимости?

Unix, который и сегодня требует портирования программ с одной unix-системы на другую (как пропатчить kde2 под freebsd? (c)), не смотря на заявленную совместимость по исходникам?

Да вы шутите!

atrus ★★★★★
()
Последнее исправление: atrus (всего исправлений: 1)
Ответ на: комментарий от atrus

Оригинал Вирта умер толком не родившись

Оригинал Вирта не умер, а был им же *похоронен*: Модула, Модула-2, Оберон, Оберон-2 и КомпонентПаскаль уже в начале 90-х. Все они *проще* и удобнее паскаля.

А борландовцам нужно было чем-то ответить на супепопулярный тогда КвикБейсик, ихний ТурбоБейсик почему-то сосал. Вот они и купили какой-то-там полузаброшенный-полукоммерческий компилятор c потрохами (вместе с Хейлсбергом) и все заверте...

Кстати, КвикПаскаль тоже почему-то сосал... Хейлсбергом же им еще успел кроме 7-ми версии ТП оформить сначала ПаскальДляВенды (16-битный), а затем и первые 3 Дельфи, которые не просто рулили, а рулили, педалили, и равали конкурентов на мелкие кусочки. Кстаити, потом Хейлсберг ушел в M$, и да, типо в 2000-х был этим самым Лид Аршытекхт этого вашего C#, и автор TypeScript. Вот так, детки, походит слава мира.

Это я все к чему... Конкуренция — она, конечно важна... Но то, как долбились линейки Турбо — Квик, а затем и Блидер+Дельфи — Визуал на пользу никому не пошло.

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

Все они *проще* и удобнее паскаля.

Все они разделили его судьбу. :)

Кстати, КвикПаскаль тоже почему-то сосал...

Потому что его выпустили в ответ. Но не сумев сходу перетянуть одеяло - забросили. У него хоть версии > 1.0 были?

которые не просто рулили, а рулили, педалили, и равали конкурентов на мелкие кусочки

Ну, ещё бы. Ведь Delphi/VCL сравнивался с тормозным VB и MFC, про который я вообще не слышал ни одного цензурного слова. Разумеется, искренне произнесённого, а не в оправдание...
Я уже не говорю про официальные слова Microsoft Press в книжке по Visual Studio 2.0, в котором советовалось делать GUI в VB, в потом экспортировать в ресурсы C++ проекта.

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

MFC, про который я вообще не слышал ни одного цензурного слова

MFC это вообще разговор отдельный... Его писали люди не понимающие ООП, и не знающие С++.

советовалось делать GUI в VB, в потом экспортировать в ресурсы C++ проекта

Совет не такой бредовый как может показаться на первый, и даже на второй взгляд. Но только с одним «но». Сложность проекта от такого мгновенно возрастала в разы.

M$ тогда молилась на компонентные технологии. Видимо дедушка Вирт кого-то там сильно куснул. С другой стороны, что .Net — это КОМ-сервер, что многие виндовые API, выходящие за рамки WinAPI, все как один — КОМ.

Наверное единственное в чем M$ просчиталось, что из дерьма не вылепишь пулю, в смысле бейсик — крайне негодный язык системной интеграции...

А вот дельфи от компонентной системы только выиграла. И без всяких КОМ, прошу заметить. А язык системной интеграции был заменен на фундаментальное IDE, позволяющей штамповать необходимые заготовки.

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

не не не herpolhode.com/rob/utah2000.pdf‎

а чел как раз (выше на 3 перехода) категорично заявил либо взлетевшие продукты «хаоса» либо окуклившиеся академические жемчужины.

ну и кста Виртовский пацкаль как не странно ещё одно опровержение когда академическая наработка 1-2( ну Хоар в алгол-в поучаствовал) имела вполне себе массовый успех.

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

ну блин про АБС и прочую амоебу забыли да.

ох как легко приписывать «Эйнштейну» всю ядерную физику ага.

Он(добродушный диктатор) всегда был руководитель команды(которую он создал да) питон продукт этой команды .

это как рок-звезда и группа которая отвечает за машинерию.

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

Совет не такой бредовый как может показаться на первый, и даже на второй взгляд.

Ога. Он просто показывал, насколько «хорошо» с этим обстояло в самом MSVC.

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

ох как легко приписывать «Эйнштейну» всю ядерную физику

Это как Сахарову приписали всё советское ЯО =)

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

написанную на таком же наколеночном «кроссплатформенном ассемблере», чей дизайн обеспечил нас десятилетиями багов уровня «переполнение стека»,

Ловите наркомана!

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

а чел как раз (выше на 3 перехода) категорично заявил

Чел дал предельно утрированный ответ очередному срывателю покровов. А теперь набрасывает в «подтверждение» своего заявления. И он уже не знает с каким сарказмом и иронией ему надо писать ответы, чтобы это поняли. :)

ну и кста Виртовский пацкаль

То, что имело успех виртовским уже не было. То, что выпускал Борланд было куда ближе к C. Конечно, там можно было откомпилировать классическую pascal-программу, написанную для виртовского паскаля. Но толку от неё было бы не много. А вот всё, что писалось реального не могло бы быть откомпилировано виртовским эталоном, потому что использовало приведение типов, сопроцессорные типы (не real, а single/double/extended), graph(bgi), ассемблерные вставки и, позднее, ООП для turbo vision.

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