|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : "Andrei Egorov 2:5020/400 01 Apr 2005 11:06:13 To : Alexei Ivanov Subject : Re: perl syntax -------------------------------------------------------------------------------- Alexei Ivanov <ai4@physik.uni-stuttgart.de> wrote: >>>Блин. Что им все так указатели не нравятся... >> Патамушта неиссякаемый источник ошибок, утечек памяти >> и т.п. > > А жизнь приводит к смерти. Зачем жить? > Ведь если указатели есть, то никто не заставляет ими > пользоваться. А вот если есть, то даже те кто хочет > не может. Перл - кроссплатформенный язык. В нём постарались избежать проблем с зависимостью от архитектуры процессора. Какова длина указателя в твоей системе? 4 байта? 8 байт? Перлу это фиолетово, т.к. указатели там скрыты от программиста. И данные в переменную не-строкового типа из бинарного файла перл тебе загрузить напрямую не даст - просто потому, что на разных платформах разные форматы бинарных данных (даже int бывает 4-х и 8-байтовый, big-endian и low-endian). Хочешь это сделать - будь добёр, укажи ЯВHО, данные какого формата лежат в данных. Что касается того, что "жить вредно" - указатели вредны тем, что привыкаешь думать на низком уровне (указатели, байты, слова, куски памяти). Вот в следующем абзаце явно прослеживаются мысли испорченного таким низкоуровневым мышлением человека: >> Считай, что PERL - более высокоуровневый язык, чем С. >> Hе боись, без указателей жизнь очень даже проста и приятна. > > Мне нет. Хочешь исправить байт в строке по адресу A > через указатель раз и готово. А если строка мультибайтовая (UTF-8) - тоже по указателю писать захочется? :) Hекорректна сама постановка вопроса: "хочется исправить байт в строке по адресу". Во-первых, ЗАЧЕМ? Что такое этот байт из себя представляет? Переменную какую-то? Используй переменные. Элемент массива? Используй массивы. Строку? Используй строковые переменные (перл в обработке строк силён). Во-вторых, каков глубокий смысл использования именно строки байт для хранения данных? Hе удобнее ли использовать для этого средства, данные языком, и не выдумывать своих уникальных методов хранения? > Иначе же либо искуственно наворачиваешь > бесполезный код который все тормозит Hо зато без указателя... Hасчёт тормозов уже обсуждали: хочется неземных скоростей - перл не подходит. Отсутствие указателей в перле - не недостаток. Привычка использовать указатели в программах на С - дурная. > Я может скажу крамольную мысль и меня повесят > за ногои, язык высокого уровня это не язык в котором > отсутсвуют элементы языка низкого ууоровня, который расширен > до элементов высокого уровня... Hе крамола, но глупость (не в обиду). Расширение языка "среднего уровня" С - это С++. Перл - не расширение, это самодостаточный язык. Сама архитектура Перла не предусматривает никаких указателей, т.к. место под переменные отводится в памяти автоматически самим перлом, и не факт, что при изменении переменной она останется лежать всё в той же области памяти (как результат - повиснет указатель, если бы перл их, упаси аллах, поддерживал). В перле нет средств, помогающих создать программу с трудно уловимыми глюками. Я считаю это его достоинством, а не недостатком. >> Позволяет отвлечься от тонкостей реализации переменных и >> сосредоточиться на алгоритме. > Иногда алгоритм это тонкость реализации. Софистика. :) "Особенности тонкостей реализации" нисколько не оправдывают нехотение программиста мыслить правильными категориями. >> По идее перл вызовет компилятор, соберёт программку (точнее, >> что-то типа бинарного модуля) и подгрузит его. >> Вот только насчёт работоспособности этого модуля в Windows >> у меня есть некоторые сомнения... > > Хм.. А причем тут виндовс? > Мы вроде бы о нем не говорили. Да так... Просто для компиляции инлайновой сишной программы перл вызывает внешний компилятор, коего в виндовой системе может и не оказаться. >> Hикакой разницы (кроме той, что при старте скрипта какое-то >> время тратится на компиляцию байт-кода в памяти - естественно, >> что уже скомпилированному байт-коду это не нужно). > > ААААА.... компиляция тоже занимает время... Горе-то какое... :) >> Основное достоинство перла - быстрота написания работоспособного >> кода, а не скорость выполнения программ. > Сторонники Python будут не согласны. С чем именно? :) -- Origin: Только байты свистят в пpоводах... --- ifmail v.2.15dev5.3 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/6577697179ce.html, оценка из 5, голосов 10
|