|
|
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
извиняюсь заранее за возможно примитивный вопрос: -в каких ЯП, кроме с++ определение класса и реализацию его методов можно делать отдельно от объявления класса. подыскиваю какой-нибудь гибкия простой язычек, глядел вот на руби, но увидел, что там код метода идет внутри листинга класса. Попыитался вспомнить, а где можно как в с++ и не смог. Заранее спасибо. Why CORBA is DEAD? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 19:56 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
млина, более грамотно было бы спросить так: что-бы определение методов класса можно было делать вне блока объявления класса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 19:59 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
Ggg_old, Дельфи, c-lisp. В общем бери питон, не пожалеешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 20:09 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
JavaScript (дописывать методы в prototype можно где угодно, гибче и проще не придумаешь). А с какими целями подыскиваете? правильнее от задачи идти.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 20:33 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
Ggg_oldизвиняюсь заранее за возможно примитивный вопрос: -в каких ЯП, кроме с++ определение класса и реализацию его методов можно делать отдельно от объявления класса. подыскиваю какой-нибудь гибкия простой язычек, глядел вот на руби, но увидел, что там код метода идет внутри листинга класса. Попыитался вспомнить, а где можно как в с++ и не смог. Заранее спасибо. Why CORBA is DEAD? это в разных файлах (*.h, *.cpp) описать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 20:51 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
не обязательно в разных файлах, можно и в одном, главное что-бы чтению того, из чего состоит класс (методы, переменные) не мешался код собственно их реализации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 21:23 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
не, функциАНАЛЬНЫЕ ЯП не нужны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2012, 23:18 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
Ggg_oldглядел вот на руби, но увидел, что там код метода идет внутри листинга класса. AFAIK в руби можно и вне класса методы описывать. Например. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2012, 09:01 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
Ggg_oldне, функциАНАЛЬНЫЕ ЯП не нужны. Ocaml вполне себе и объектно-ориентированный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2012, 09:03 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
А еще в Go методы "отделены" от типов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2012, 09:06 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
глянул, к сожалению в руби возможности инжектирования методов в классы, да ив питоне - это скорее хак для делания уникальных интересных вещей. Ясно, что никто такими возможностями не пользуется только лишь для отделения объявления от реализации. Использовать самому - значит нарушать сложившуюся культуру разработки в языке, что неправильно. В с++ можно реализацию пихать в объявление, никто не запрещает, но так как правило не делают, культура использования языка не способствует. Go не смотрел, смущает пока что он уже очень маргинальный. JScript - веб язык, а я подыскиваю универсальный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2012, 12:18 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
Задач у меня пока особых нет, просто я давно не программил, но хочется вернуться. Писать на С++ не хочется - язык превратился в говно. Ищу универсальный язычек, для задач типа: что-то откуда-то выгрузил, обработал, загрузил в другое место. Желательно работа как скрипт-языка на веб-стороне, что и морды на вебе писать для доступа к несложным БД локального характера. Так-как ничего не давит, то хочется начать работать с нормальным языком, с развитыми библиотеками, хорошей читабельностью и в культуре использования которого не надо постоянно прибегать к хакам. Так-же хочется научится на нем чему-то новому в программировании, а не только еще одному синтаксису. Язык должен быть практичным. ФП не подходит, так как часто не практичен и листинги нечитабелены. Не походят языки, где вместо 1+1 надо писать 1 1 +, либо есть возможность так писать. Хочется попробовать что есть хорошая статическая типизация. Кстати, из того что посматривал понравилась АДА, но как-то современных док по ней пока не нарыл и как она сегодня пока не очень понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2012, 12:27 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
что-бы определение методов класса можно было делать вне блока объявления класса. Один вопрос зачем вам такое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2012, 12:53 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
это удобно, облегчает читабельность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2012, 13:08 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
Ggg_old, по моему это лишний код. В нормальной IDE и так можно посмотреть методы и свойства класса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2012, 14:39 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
IDE-это костыль, хотелось бы, чтобы язык в нем нуждался не для таких простых вещей, как просмотр листинга. Первичный взгляд со стороні на ADA вызывает все больше и больше интереса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2012, 16:47 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
Ggg_oldэто удобно, облегчает читабельность.8-() Я (почему-то) всегда предполагал, что выбор языка нужно делать на основе применимости к решению поставленной задачи... А тут, оказывается, во как нужно: чтобы в ЯП "кавычки" по фэншую расставлялись... Ggg_oldIDE-это костыль, хотелось бы, чтобы язык в нем нуждался не для таких простых вещей, как просмотр листинга.Интересно, а сможете ли Вы разрабатывать "без просмотра листинга" (с) очень "небольшую программу", состоящей всего из пары сотен модулей, суммарным объемом в десятки мегабайт текста? И Вы сможете не запутаться в этом без "костылей" в виде IDE? А если проект в добавок еще и состоит из десятка подобных "небольших программ"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2012, 19:31 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
Ggg_old, А зачем тебе обязательно "новый" язык? Для практической работы вполне хватает и старых. Даже тот-же С++ который по твоему мнению "превратился в говно". Если он "превратился" значит раньше он не был? Ну так ты можешь же взять только те библиотеки которые не вызывают у тебя отторжения. Не хочешь использовать половину возможностей языка - не используй. Я не вижу большого смысла отказываться от языка вообще если в нем "есть возможность" писать неудобно. Тебя разве заставляют использовать неудобную половину? Я ненавижу исключения и шаблоны - я их в своих С++ проектах не использую и все. Ggg_oldИщу универсальный язычек, для задач типа: что-то откуда-то выгрузил, обработал, загрузил в другое место. Желательно работа как скрипт-языка на веб-стороне, что и морды на вебе писать для доступа к несложным БД локального характера. Так-как ничего не давит, то хочется начать работать с нормальным языком, с развитыми библиотеками, хорошей читабельностью и в культуре использования которого не надо постоянно прибегать к хакам. А по задачам которые ты перечислил, тебе пойдут С и Perl. Во всяком случае, лично я для этих задач взял именно C и Perl. Когда нужна скорость обработки данных - С, когда нужна скорость написания - Perl. Решения живут под всем зоопарком операционнок с которыми мне приходится иметь дело. А уж развитых библиотек для них... sphinx_mvGgg_oldIDE-это костыль, хотелось бы, чтобы язык в нем нуждался не для таких простых вещей, как просмотр листинга.Интересно, а сможете ли Вы разрабатывать "без просмотра листинга" (с) очень "небольшую программу", состоящей всего из пары сотен модулей, суммарным объемом в десятки мегабайт текста? И Вы сможете не запутаться в этом без "костылей" в виде IDE? А если проект в добавок еще и состоит из десятка подобных "небольших программ"?А вот тут Ggg_old прав. IDE это совершенно ненужный костыль. Оно удобно только если разработка идет внутри одного фреймворка, но превращается в гигантский тормоз когда в проекте используются несколько языков и/или на разных системах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 04:06 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
А вот тут Ggg_old прав. IDE это совершенно ненужный костыль. Оно удобно только если разработка идет внутри одного фреймворка, но превращается в гигантский тормоз когда в проекте используются несколько языков и/или на разных системах. ага, по вашему в блокноте самое то. С ума сойдёшь при более или менее большом проекте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 11:22 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
AHTOH_LА вот тут Ggg_old прав. IDE это совершенно ненужный костыль. Оно удобно только если разработка идет внутри одного фреймворка, но превращается в гигантский тормоз когда в проекте используются несколько языков и/или на разных системах. ага, по вашему в блокноте самое то. С ума сойдёшь при более или менее большом проекте.:) Ну, строго говоря, "блокнот с 2мя плюсами" notepad++ весьма близок к полноценной IDE... Подсветка синаксиса (на несколько десятков языков программирования), макросы, запуск внешних программ, плагины... Кросс-системный и кросс-платформенный - вести одновременную разработку для разных платформ и систем позволяет.. Практически главное требование выполнено: определенное удобство править текст программного модуля - для некотрых разработчиков (и разработок) УЖЕ вполне достаточно. И даже для не-мелких проектов... Но сам использовать его в качестве IDE - и тем более "основного" - даже на "небольшом проекте" я не буду... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 12:33 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
Яростный МечJavaScript (дописывать методы в prototype можно где угодно, гибче и проще не придумаешь)... И прототип нафиг не нужен. Код: html 1. 2. 3. 4. 5. 6. 7. Короче, чё угодно, то и дописывай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 13:24 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
ShSerge, прототип нужен, но ты, видимо, пока не раскурил, для чего :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 13:30 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
В шарпе же есть partial ? чем не устраивает? или это не то? Или я что-то не так поняла? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 15:53 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
AHTOH_LОдин вопрос зачем вам такое? Для качественной организации кода. Слышали про такое развлечение - бег в мешках? Так вот, код без этой фичи его напоминает - точно так же всё вместе в один мешок. Если привык ходить на двух ногах, то постоянному бегу в мешках.. ну можно, конечно, приколоться, но не более того. WPF WCF ... WTF? В шарпе же есть partial ? чем не устраивает? или это не то? Это не то. Звучит примерно как "зачем нужны ноги, если есть руки?" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 17:30 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
Для качественной организации кода. Слышали про такое развлечение - бег в мешках? Так вот, код без этой фичи его напоминает - точно так же всё вместе в один мешок. Если привык ходить на двух ногах, то постоянному бегу в мешках.. ну можно, конечно, приколоться, но не более того. Ну объявите вы классы в одном месте. Реализуете в другом. Чем вам так поможет список классов в отдельном файле? Если мне нужен будет список классов я посмотрю его в отдельном окне IDE и сразу же перейду к нужному методу класса. А вот список мне никак не поможет, ну да есть такой, а где он? что в нём? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 17:56 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
AHTOH_LЧем вам так поможет список классов в отдельном файле? В отдельном файле не обязательно, хотя фича имеет свои плюсы, а вот в отдельном месте - удобно. Когда, например, задача решается взаимодействием двух-трёх базовых классов, каждый из которых имеет наследников, крайне удобно понять общую артитектуру модуля просто открыв файл и пар раз нажав PageDown. Аналогично, когда ищешь что-то, что плохо помнишь - стартовая точка компактна и под рукой. AHTOH_LЕсли мне нужен будет список классов я посмотрю его в отдельном окне Я понимаю, что логика "если мне потребуется вторая конечность, я могу взять к мешку ещё и костыль" практически неопровержима, поэтому не собираюсь тратить время на теоретическую беседу с человеком, устриц не пробовавшим. Есть люди, например топикстартер, которым это удобно. Какой смысл приходить к ним и устраивать бучу с криком "да нафиг вам это надо!?" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 18:07 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
White Owl...Я ненавижу исключения и шаблоны... Почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 22:01 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
Ggg_oldизвиняюсь заранее за возможно примитивный вопрос: -в каких ЯП, кроме с++ определение класса и реализацию его методов можно делать отдельно от объявления класса. ... В любом, который поддерживает интерфейсы и классы, от интерфейсов наследуемые. Интерфейс описывает требуемое поведение в виде набора методов, а класс, наследуемый от интерфейса - просто вариант реализации интерфейса. См, например, язык D. Он, конечно, совсем не такой распространенный, как Java, но зато он "нативен" и очень приятен для изучения. И по в этом году вышла на русском книжка Андрея Александреску. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2012, 23:26 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
kmawWhite Owl...Я ненавижу исключения и шаблоны... Почему?Исключения не удобны. Если их использовать так как предлагают в учебниках - они прячут источник проблемы. А если в каждом потенциально опасном месте вешать обработчики исключения то код превращается в сплошную обработку исключений. А в языках типа Java которые требуют обязательной обработки исключений сложно сделать игнорирование ошибки, там приходится добавлять пустой код только чтобы удовлетворить компилятор. Коды возврата намного удобнее - когда надо ловишь, когда не важно - игнорируешь. Причем ловишь их всегда именно там где ошибка произошла а не в конце метода и не за десяток шагов по стеку. А шаблоны это источник гигантских проблем для библиотек. Вчера ты написал шаблон, написал класс использующий этот шаблон, скомпилировал его, положил объектный файл в библиотеку. Сегодня ты подправил шаблон, написал второй класс использующий его и скомпилировал, тоже в библиотеку. Теперь у тебя в библиотеке лежат два класса на основе разных шаблонов с одинаковым именем. Но самая главная проблема шаблонов это то что в них реальной нужды нет. Перечисли задачи для которых шаблоны полезны? Сортировка, хранение различных списков и динамических массивов, .... и? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2012, 03:06 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
White Owl...Перечисли задачи для которых шаблоны полезны? Сортировка, хранение различных списков и динамических массивов, .... и? Любой алгоритм, который напрашивается на обобщение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2012, 03:24 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
White OwlИсключения не удобны. Если их использовать так как предлагают в учебниках - они прячут источник проблемы. А если в каждом потенциально опасном месте вешать обработчики исключения то код превращается в сплошную обработку исключений. ... Коды возврата намного удобнее - когда надо ловишь, когда не важно - игнорируешь. Причем ловишь их всегда именно там где ошибка произошла Коды ошибок и пользовательские исключения семантически эквивалентны. Любой алгоритм, который записывается с помощью одного метода, записывается и с помощью другого; вопрос лишь в том, насколько качественный код получается в том и другом случае. Можно привести примеры, когда удобнее каждый из вариантов. В принципе можно назвать реальные задачи, для которых коды ошибок окажутся в среднем удобнее, но в общей массе таких крайне мало. Причины этого следующие: 1. Точное место ошибки чаще всего неинтересно. Как правило, место ошибки интересно с точностью до некоего существенных размеров блока. Скажем, в функции записи некоего файла, содержащей кучу операций, нам совершенно неинтересно, на какой именно операции случилась ошибка "на диске нет места" - напротив, нам интересна одинаковая реакция на эту ошибку при любой операции (скажем, убрать с диска временные файлы и попробовать повторить операцию). 2. В месте ошибки часто отсутствует информация, необходимая для правильной реакции на эту ошибку. Скажем, если ошибка произошла при записи лог-файла, её можно просто игнорировать - запись логов является вспомогательной операцией и не должна мешать основной функции. Ту же самую ошибку в той же самой функции, вызванной для записи файла данных, игнорировать недопустимо. Но эта самая функция записи не имеет информации о том, какие файлы с диска можно удалить - то есть не может собственными силами корректно обработать ошибку. Таким образом, сложный код с правильной обработкой ошибок "методом кодов" нуждается в повторяющихся кусках кода после многих вызовов и требует передачи различной информации между подпрограммами и часто транзитом (через две-три подпрограммы, где она не нужна, в четвёртую). Код становится сложным, запутанным, и что самое противное - собственно основная функциональность, её код и данные, начинают тонуть в строках, связанных с обработкой ошибок. Могу сказать, когда я перестал любить коды ошибок. Это случилось ещё до появления концепции исключений, в проекте, где я по сути реализовал её доступными средствами. И где, как я в какой-то момент обратил внимание, буквально каждая вторая строка кода по всему проекту выглядела очень просто: Код: pascal 1. Ну и наконец, у кодов ошибок есть третья неприятная особенность: 3. Разработка с использованием кодов ошибок сама по себе склонна к ошибкам и требует повышенного внимания и дополнительного времени и при разработке, и при тестировании. При использовании исключений вполне можно идти методом постепенного улучшения; реализовать самые общие обработчики, а затем по мере необходимости уточнять реализацию в соответствии с реальными потребностями; риск при этом лишь в том, что некая ситуация будет обработана недостаточно хорошо. При использовании кодов ошибок правильный код надо писать везде, сразу и полностью, в противном случае программа скорее всего испортит данные и/или выдаст кривые результаты. White OwlА в языках типа Java которые требуют обязательной обработки исключений сложно сделать игнорирование ошибки, Согласен, это противно и дурацкая идея. К счастью, в Java есть RuntimeException, позволяющий писать сравнительно вменяемый код с небольшим оверхедом. White OwlА шаблоны это источник гигантских проблем для библиотек. Вчера ты написал шаблон, написал класс использующий этот шаблон, скомпилировал его, положил объектный файл в библиотеку. Сегодня ты подправил шаблон, написал второй класс использующий его и скомпилировал, тоже в библиотеку. Имхо проблема здесь не в шаблонах, а в доведении идеи раздельной компиляции до абсурда. White OwlНо самая главная проблема шаблонов это то что в них реальной нужды нет. То, в чём нет реальной нужды, будет редко использоваться на практике. Скажем, на сегодня в этой роли выступают коды ошибок. Шаблоны - инструмент, позволяющий примирить потребности в создании обобщённых алгоритмов, эффективном выполнении откомпилированной программы и написании более-менее читаемого кода. Когда в чём-то из названного нет необходимости, реальная нужда в шаблонах действительно, размывается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2012, 04:02 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
Ggg_oldмлина, более грамотно было бы спросить так: что-бы определение методов класса можно было делать вне блока объявления класса. коммон лисп, делфи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2012, 09:24 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
Ggg_oldне, функци АНАЛЬНЫЕ ЯП не нужны. клиника ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2012, 09:25 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
softwarer1. Точное место ошибки чаще всего неинтересно. Как правило, место ошибки интересно с точностью до некоего существенных размеров блока. Скажем, в функции записи некоего файла, содержащей кучу операций, нам совершенно неинтересно, на какой именно операции случилась ошибка "на диске нет места" - напротив, нам интересна одинаковая реакция на эту ошибку при любой операции (скажем, убрать с диска временные файлы и попробовать повторить операцию). 2. В месте ошибки часто отсутствует информация, необходимая для правильной реакции на эту ошибку. Скажем, если ошибка произошла при записи лог-файла, её можно просто игнорировать - запись логов является вспомогательной операцией и не должна мешать основной функции. Ту же самую ошибку в той же самой функции, вызванной для записи файла данных, игнорировать недопустимо. Но эта самая функция записи не имеет информации о том, какие файлы с диска можно удалить - то есть не может собственными силами корректно обработать ошибку. А тебе не кажется что ты сам себе противоречишь? Если у тебя в перемешку идут команды на запись нужного файла и на запись лога - тебе обязательно надо знать точное место ошибки. Поэтому твой первый пункт уже не играет. Что такое "правильная реакция на ошибку"? Проигнорировать ошибку лога и начать паниковать на ошибку записи полезного файла? Ну так а где ж еще знать к какому файлу относится данная функция записи, если не сразу после функции? Вот как раз исключения на подобной задаче чрезвычайно неудобны. softwarerТаким образом, сложный код с правильной обработкой ошибок "методом кодов" нуждается в повторяющихся кусках кода после многих вызовов и требует передачи различной информации между подпрограммами и часто транзитом (через две-три подпрограммы, где она не нужна, в четвёртую).Вовсе нет. Дублирования кода нет - единственное что дублируется это "if error then" А дальше либо return X для транзита родителю, либо goto error_handler_of_this_type если надо сэмулировать глобальный обработчик а-ля исключение. softwarer3. Разработка с использованием кодов ошибок сама по себе склонна к ошибкам и требует повышенного внимания и дополнительного времени и при разработке, и при тестировании. При использовании исключений вполне можно идти методом постепенного улучшения; реализовать самые общие обработчики, а затем по мере необходимости уточнять реализацию в соответствии с реальными потребностями; риск при этом лишь в том, что некая ситуация будет обработана недостаточно хорошо. При использовании кодов ошибок правильный код надо писать везде, сразу и полностью, в противном случае программа скорее всего испортит данные и/или выдаст кривые результаты.Это очень странное возражение. То есть писать плохо это хорошо, а сразу писать хорошо это плохо? мдя... softwarerWhite OwlНо самая главная проблема шаблонов это то что в них реальной нужды нет. То, в чём нет реальной нужды, будет редко использоваться на практике. Скажем, на сегодня в этой роли выступают коды ошибок. Хе-хе-хе... И это ты говоришь человеку принципиально не использующему исключения? :) softwarerШаблоны - инструмент, позволяющий примирить потребности в создании обобщённых алгоритмов, эффективном выполнении откомпилированной программы и написании более-менее читаемого кода. Когда в чём-то из названного нет необходимости, реальная нужда в шаблонах действительно, размывается.Да, да, да... обобщенные алгоритмы... Еще раз повторяю: как много таких алгоритмов ты знаешь? Я знаю только одну группу алгоритмов - управление структурами данных. Списки, деревья, массивы... и все. И ради этого придумали целый раздел языка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2012, 02:07 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
White OwlА тебе не кажется что ты сам себе противоречишь? Если у тебя в перемешку идут команды на запись нужного файла и на запись лога А тебе не кажется, что для того, чтобы придумать это возражение, тебе пришлось свести воедино два абзаца, прямо таки номерами обозначенные как совершенно разные, независимые ситуации? Отвечать на такую манипуляцию смысла нет... хочешь - подумай ещё раз, хочешь - считай, что прав. White OwlВовсе нет. Дублирования кода нет - единственное что дублируется это "if error then" Да нет, есть и весьма часто. Например, необходимость подчистить текущее состояние для продолжения работы после обработки ошибки. Например, одинаковые error_handler_of_this_type в разных подпрограммах. Но даже если дублируется лишь if error then return - оно чертовски достаёт, когда это каждая вторая строчка программы. Это dumb code. White OwlЭто очень странное возражение. То есть писать плохо это хорошо, а сразу писать хорошо это плохо? мдя... Если отбросить религиозные воззрения, то "то есть писать хорошо и легко это хорошо, а писать хорошо с большими усилиями, требованиями к внимательности и лёгкостью допущения ошибок - не столь хорошо". White OwlХе-хе-хе... И это ты говоришь человеку принципиально не использующему исключения? :) Ну я знаю много принципиально творимых глупостей. Скажем, один мой знакомый айтишник принципиально отрубает у себя javascript и flash, а всех, кто делает сайты с использованием этих инструментов, называет самое мягкое мудаками, мешающими ему полноценно пользоваться интернетом. White OwlДа, да, да... обобщенные алгоритмы... Еще раз повторяю: как много таких алгоритмов ты знаешь? Трудно сосчитать. Видишь ли, мой диплом был посвящён как раз таки системе, поддерживающей реализацию обобщённых алгоритмов (не на шаблонах). И, собственно, многие языковые средства, как старые, так и новые - например, указатели на функции и лямбда-исчисление - предназначены для решения как раз этой задачи. Соответственно, любое решение где они используются.. А учитывая, что среди прочего они используются в виртуальных функциях.. White OwlЯ знаю только одну группу алгоритмов - управление структурами данных. Назову самый что ни на есть классический пример - обобщённая функция вычисления интеграла с подстановкой конкретного метода вычисления (прямоугольников, трапеций итп). Уверен, Вы не могли о нём не слышать. А так.... тысячи их. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2012, 02:37 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
softwarerWhite OwlЯ знаю только одну группу алгоритмов - управление структурами данных. Назову самый что ни на есть классический пример - обобщённая функция вычисления интеграла с подстановкой конкретного метода вычисления (прямоугольников, трапеций итп). Уверен, Вы не могли о нём не слышать. А так.... тысячи их.Шаблоны предполагают что у человека есть тысячи примитивных типов данных и все они подлежат одному общему алгоритму. Какие типы данных ты используешь для вычисления интеграла? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2012, 20:28 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
Java :) Интерфейсы - отдельно, реализация в классе - отдельно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2012, 15:25 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
White OwlШаблоны предполагают что у человека есть тысячи примитивных типов данных...вот это вот с чего взято? с потолка? достаточно 2х типов, у которых одинаковый интерфейс, но нет общей иерархии наследования, чтобы написать шаблон, вместо двукратного написания одного и того же кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2012, 15:36 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
White OwlКакие типы данных ты используешь для вычисления интеграла? Абстрактные :) Шаблоны позволяют эффективно наплодить семейство решателей для вычисления простых, криволинейных, поверхностных интегралов от действительных или комплексных переменных, разными методами, дающими разную скорость-точность, и при этом не потерять в эффективности каждого отдельного "решателя". Раз Вам не нравятся шаблоны - Вы можете либо предложить лучшее решение, либо пожертвовать одним из названных преимуществ, либо не решать таких задач. Имхо всё просто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2012, 15:41 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
egorychдостаточно 2х типов, у которых одинаковый интерфейс, С учётом шаблонных функций в общем-то иногда можно и без одинакового интерфейса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2012, 15:45 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
softwareregorychдостаточно 2х типов, у которых одинаковый интерфейс, С учётом шаблонных функций в общем-то иногда можно и без одинакового интерфейса.несомненно )) иногда можно и без типов, даже, констант достаточно иногда бывает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2012, 15:53 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
egorychWhite OwlШаблоны предполагают что у человека есть тысячи примитивных типов данных...вот это вот с чего взято? с потолка? достаточно 2х типов, у которых одинаковый интерфейс, но нет общей иерархии наследования, чтобы написать шаблон, вместо двукратного написания одного и того же кода.Ради двух типов я не стал бы возиться с универсальным интерфейсом. Даже ради пяти не стал бы. Если у меня есть конечное число типов подлежащих одинаковому интерфейсу это всегда либо потомки одного общего предка, либо интерфейсы для них "не совсем одинаковые" и написание пусть и десятка копий похожих (но уникальных) интерфейсов всегда дадут выигрыш против одного общего универсального. Вот с неизвестным количеством типов - там да, там действительно имеет смысл задуматься о шаблонах. Но тогда мы возвращаемся к моему первому возражению: мало на свете задач действительно способных обрабатывать неизвестное количество типов. softwarerWhite OwlКакие типы данных ты используешь для вычисления интеграла?Абстрактные :) Шаблоны позволяют эффективно наплодить семейство решателей для вычисления простых, криволинейных, поверхностных интегралов от действительных или комплексных переменных, разными методами, дающими разную скорость-точность, и при этом не потерять в эффективности каждого отдельного "решателя". Раз Вам не нравятся шаблоны - Вы можете либо предложить лучшее решение, либо пожертвовать одним из названных преимуществ, либо не решать таких задач. Имхо всё просто.Вот это как раз тот случай, когда лично я бы наплодил бы несколько уникальных "решателей" для каждого из типов. Потому что этих типов очень малое число - действительные и комплексные. И я на 100% уверен что функция какого-нибудь расчета выиграла бы в скорости если бы ее писали конкретно для действительных или для комплексных чисел, а не делали универсальную функцию для обоих типов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2012, 19:55 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
White OwlВот это как раз тот случай, когда лично я бы наплодил бы несколько уникальных "решателей" для каждого из типов. Потому что этих типов очень малое число - действительные и комплексные. И я на 100% уверен что .... Позволю себе спросить - а каков вообще Ваш опыт с шаблонами (не генериками)? Просто, честно говоря, по разговору складывается ощущение, что Вы плохо представляете себе их возможности и применение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2012, 20:05 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
softwarerWhite OwlВот это как раз тот случай, когда лично я бы наплодил бы несколько уникальных "решателей" для каждого из типов. Потому что этих типов очень малое число - действительные и комплексные. И я на 100% уверен что .... Позволю себе спросить - а каков вообще Ваш опыт с шаблонами (не генериками)? Просто, честно говоря, по разговору складывается ощущение, что Вы плохо представляете себе их возможности и применение.Ну если так ставить вопрос, то маленький. Сам, по собственной инициативе, я их сочинять не буду, как я уже не однократно говорил, у меня нету задач в которых применение шаблонов было бы оправдано. И до сих пор никто не смог показать мне такие задачи (ну кроме классических list/vector/etc). Использовать чужие шаблоны приходилось, но во всех случаях (кроме библиотечных list/vector/etc) это либо приносило проблемы, либо шаблон ограничивался одним единственным наследником на все время существования библиотеки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2012, 20:19 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
Ggg_oldизвиняюсь заранее за возможно примитивный вопрос: -в каких ЯП, кроме с++ определение класса и реализацию его методов можно делать отдельно от объявления класса. подыскиваю какой-нибудь гибкия простой язычек, глядел вот на руби, но увидел, что там код метода идет внутри листинга класса. Попыитался вспомнить, а где можно как в с++ и не смог. Заранее спасибо. Why CORBA is DEAD? Objective-C? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2012, 23:07 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
читаю доки по АДА, супер! не знаю, буду ли ее использовать реально, но сам язык очень нравится, изучаю с доки удовольствием, в отличие от всяких пионерских велосипедов типа скалы и прочего. Почему АДА не в большом мейнстриме понимаю - пионеров не пускали (обязательная жесткая стандартизация) и высокая цена компиляторов отсеивала энтузиастов. Но то что вышло в итоге - прекрасно. Это первичное эмоциональное впечатление, но чувство удовлетворения и понимание, что АДА - следствие развития программирование как науки а не коммерческого однодневного велосипедостроя. Как там с библиотеками - не знаю, но с эстетической точки зрения - этот ЯП идеал (имхо). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2012, 13:05 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
Можете ли вы назвать еще такой язык, который дает возможность записывать условие в одной процедуре, а оператор IF — в другой? (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2012, 00:28 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
ЖуК_БотаН, любой нормальный язык, или вы про что то другое: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2012, 08:15 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
AHTOH_LЖуК_БотаН, любой нормальный язык, или вы про что то другое: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. про что-то другое. в вашем случае в процедуре тест условие таки записано "MyF()". з.ы. велосипед не мой, я только разместил объяву. з.ы.ы. а язык такой есть, фортом зовется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2012, 17:44 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
Жук_БотаН, пример кода можно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2012, 18:54 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
Жук_БотаНAHTOH_LЖуК_БотаН, любой нормальный язык, или вы про что то другое: про что-то другое. в вашем случае в процедуре тест условие таки записано "MyF()". з.ы. велосипед не мой, я только разместил объяву. з.ы.ы. а язык такой есть, фортом зовется.Ты это имеешь в виду? Код: sql 1. 2. 3. 4. Это не совсем условие и if в разных процедурах. Это скорее создание процедуры возвращающей булевое значение на основе переданного в нее параметра. На С++ аналогом будет: Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2012, 19:52 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
White OwlЖук_БотаНпропущено... про что-то другое. в вашем случае в процедуре тест условие таки записано "MyF()". з.ы. велосипед не мой, я только разместил объяву. з.ы.ы. а язык такой есть, фортом зовется.Ты это имеешь в виду? Код: sql 1. 2. 3. 4. Это не совсем условие и if в разных процедурах. Это скорее создание процедуры возвращающей булевое значение на основе переданного в нее параметра. На С++ аналогом будет: Код: plaintext 1. 2. 3. 4. 5. 6. нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2012, 22:53 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
Ggg_oldКак там с библиотеками - не знаю, но с эстетической точки зрения - этот ЯП идеал (имхо). Дык вить назвали его в честь бабы. Вот оно оттуда и идёт женское обояние в ракетной технике и оружии которое должно нас выпилить к чертям собачьим. Все беды от баб... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2012, 23:25 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNWhite OwlТы это имеешь в виду?нетЧто "нет"? Ты имеешь в виду не это, или ты не согласен с моим объяснением? Если ты имел в виду не это, то действительно пример кода в студию. Если ты не согласен с моим объяснением, то объяснение в студию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2012, 00:09 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
Жук_БотаНМожете ли вы назвать еще такой язык, который дает возможность записывать условие в одной процедуре, а оператор IF — в другой? (с) ... з.ы.ы. а язык такой есть, фортом зовется.Не путайте сообщество. Парадигма Форта неприменима при таких условиях вообще, ибо в нём нет "процедур" ни в каком из "привычных" пониманий. "Слово" и "пробел" - и всё... То, что вы приводите цитату из Броуди - это, конечно, похвально. Но не отменяет того факта, что любой программировавший на Форте способен написать минимум эссе на тему "что можно здесь и нельзя больше нигде". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2012, 00:27 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaN, кстати, ради интереса - данной фразы у самого Leo в книге нет - это дополнение текста от впечатлённых переводчиков-адаптаторов (как и приеденные там примеры, где самодеятельность видна хотя бы в именовании .ДА? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2012, 00:40 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
2mayton. Ну не только выпиливать же, еще и в боингах возить, в системах управления, в медицине пациентов дебажить. очень добротный компилируемый язык, с жесткой статической типизацией и мощной расширяемой системой типов, встроенной в язык многопоточностью, читабельным в отличие от с++ синтаксисом и главное - без изъебов функционального программирования. Так что хаскели со скалами могут оставаться там-же где их и придумали - в университетах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2012, 00:47 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
Ggg_old, Ну вот учили меня Алголу-68... Потом, помню, в университетской среде народ тащился по той же АДА и Модула-2... И что? Мощность вышеперечисленных языков просто невостребована до сих пор. Потому что реальной многопроцессорности и многозадачности с распараллеливанием - в современных "IBM-compatible + Windowoze" как легких у рака... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2012, 01:01 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
Ggg_oldи главное - без изъебов функционального программирования. Так что хаскели со скалами могут оставаться там-же где их и придумали - в университетах. А что такое изъёбы ФП? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2012, 01:04 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
ну, главной фишкой АДы я так понял является порождение сложного, но безопасного кода (максимально безопасного), т.е. то, за счет чего сейчас пиарятся некторые ФП. Но ФП оперирует абстракциями далекими от реальности работы компа и как ни крути не годятся в мэйнстрим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2012, 01:09 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
AndreTM ZyK_BotaN, кстати, ради интереса - данной фразы у самого Leo в книге нет - это дополнение текста от впечатлённых переводчиков-адаптаторов (как и приеденные там примеры, где самодеятельность видна хотя бы в именовании . ДА? ) я только перевод читал. как в оригинале - не знаю ) просто название топика напомнило. привел цитату в качестве шутки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2012, 01:18 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
White OwlZyK_BotaNпропущено... нетЧто "нет"? Ты имеешь в виду не это, или ты не согласен с моим объяснением? Если ты имел в виду не это, то действительно пример кода в студию. Если ты не согласен с моим объяснением, то объяснение в студию.тут меня поправили. что в форте нет процедур но все же суть объясню. все аргументы(и результаты) в форте передаются неявно через стек. поэтому можно(но не нужно) провернуть такую штуку. сначала записать условное выражение(результат которого запишется в стек). потом производить любые вычисления, после которых стек выровняется. потом "вызвать процедуру"(да-да в форте нет процедур, называйте это как хотите) в которой есть "оператор"(да-да, слово) "иф", и он воспользуется значением со стека. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2012, 01:23 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
maytonGgg_oldи главное - без изъебов функционального программирования. Так что хаскели со скалами могут оставаться там-же где их и придумали - в университетах. А что такое изъёбы ФП?монады всякие с эндофункторами, наверное... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2012, 01:24 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
Ggg_oldНо ФП оперирует абстракциями далекими от реальности работы компада, за что ФП и критиковал Вирт. Ggg_oldи как ни крути не годятся в мэйнстрим. какой неочевидный вывод. жаба тоже оперирует абстракциями далекими от реальности работы компа, но почему-то является что не есть самым настоящим мейнстримом... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2012, 01:26 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNпросто название топика напомнило. привел цитату в качестве шутки.Обсуждение полутаралетней давности я ещё помню ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2012, 01:28 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
Ggg_oldну, главной фишкой АДы я так понял является порождение сложного, но безопасного кода (максимально безопасного) Чел. это взаимоисключающие параграфы. Ты что-то не так понял. И что такое безопасность? Неспособность ронять систему в синий экран? Или нечто другое? Но ФП оперирует абстракциями далекими от реальности работы компа и как ни крути не годятся в мэйнстрим. Я тебя очень сильно удивлю но абстракции ФП - вокруг нас. Ни один транслятор не пишется без БНФ которая по сути является рекуррентным описанием грамматик. Это первая ласточка ФП. И ее нужно уметь видеть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2012, 01:30 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
maytonНи один транслятор не пишется без БНФ которая по сути является рекуррентным описанием грамматик. Это первая ласточка ФП. И ее нужно уметь видеть.Простите, а при чем здесь Беларусский Народный Фронт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2012, 02:08 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
Ggg_oldну, главной фишкой АДы я так понял является порождение сложного , но безопасного кода (максимально безопасного) если под словом "сложный", имеется ввиду многословный - то да... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2012, 02:15 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNсначала записать условное выражение(результат которого запишется в стек). потом производить любые вычисления, после которых стек выровняется. потом "вызвать процедуру"(да-да в форте нет процедур, называйте это как хотите) в которой есть "оператор"(да-да, слово) "иф", и он воспользуется значением со стека.Не вижу в этом никаких проблем. Прими за данность: все что лежит на стеке переде вызовом слова это параметры этого слова. Если ты поймешь это, то с легкостью увидишь что описываемая тобой "страшная вещь" это полный аналог процедеры в которая при старте проверяет булевый параметр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2012, 02:20 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
White OwlZyK_BotaNсначала записать условное выражение(результат которого запишется в стек). потом производить любые вычисления, после которых стек выровняется. потом "вызвать процедуру"(да-да в форте нет процедур, называйте это как хотите) в которой есть "оператор"(да-да, слово) "иф", и он воспользуется значением со стека.Не вижу в этом никаких проблем. Прими за данность: все что лежит на стеке переде вызовом слова это параметры этого слова. Если ты поймешь это, то с легкостью увидишь что описываемая тобой "страшная вещь" это полный аналог процедеры в которая при старте проверяет булевый параметр.э. не. дело в том, как это все выглядит на языке программирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2012, 02:23 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
White OwlmaytonНи один транслятор не пишется без БНФ которая по сути является рекуррентным описанием грамматик. Это первая ласточка ФП. И ее нужно уметь видеть.Простите, а при чем здесь Беларусский Народный Фронт? Дружище ты забыл поставить смайлик? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2012, 03:12 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
maytonWhite Owlпропущено... Простите, а при чем здесь Беларусский Народный Фронт? Дружище ты забыл поставить смайлик?Нет, не забыл. Я не знаю что такое БНФ, а Гугл кроме упомянутой партии никак это не расшифровывает... Английскую аббревиатуру дай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2012, 06:48 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
White Owlmaytonпропущено... Дружище ты забыл поставить смайлик?Нет, не забыл. Я не знаю что такое БНФ, а Гугл кроме упомянутой партии никак это не расшифровывает... Английскую аббревиатуру дай.А просто поменять "букафки"? Хотя оно и по-русски звучит и находится вполне неплохо: форма Бэкуса-Наура... Я проверил - гугл (наверное, какой-то "неправильный") выдал вторым результатом в поиске по абревиатуре БНФ... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2012, 11:30 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
sphinx_mvWhite Owlпропущено... Нет, не забыл. Я не знаю что такое БНФ, а Гугл кроме упомянутой партии никак это не расшифровывает... Английскую аббревиатуру дай.А просто поменять "букафки"? Куда поменять? На CFG, да? sphinx_mvХотя оно и по-русски звучит и находится вполне неплохо: форма Бэкуса-Наура... Я проверил - гугл (наверное, какой-то "неправильный") выдал вторым результатом в поиске по абревиатуре БНФ... :)А вот мне он выдает ссылку на Википедию только в конце второй страницы... yahoo только на седьмой странице... яндек на третей странице... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2012, 05:22 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
White OwlА вот мне он выдает ссылку на Википедию только в конце второй страницы... yahoo только на седьмой странице... яндек на третей странице...странно. у меня второй строкой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2012, 05:49 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
Ggg_oldне обязательно в разных файлах, можно и в одном, главное что-бы чтению того, из чего состоит класс (методы, переменные) не мешался код собственно их реализации. Вроде бы даже самые примитивные редакторы кода умеют сворачивать код функций, что бы только их сигнатуры и шапки с комментариями оставались. А разбиение по файлам как в C++ это только от убогой модульности в нем же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2012, 02:30 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNWhite OwlА вот мне он выдает ссылку на Википедию только в конце второй страницы... yahoo только на седьмой странице... яндек на третей странице...странно. у меня второй строкой. Дык в гугле же этот, поиск с учетом истории поисков юзера или как-то так. Поэтому у разных пользователей могут быть разные результаты на один и тот же запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2012, 08:47 |
|
||
|
в каких ЯП можно
|
|||
|---|---|---|---|
|
#18+
kamreА разбиение по файлам как в C++ это только от убогой модульности в нем же. Угу, в Limbo было разделение на файл интерфейса модуля и файлы реализаций, вообще довольно удобно, этакое ООП на модулях (можно было загрузить две разные реализации одного интерфейса, получали ad-hoc полиморфизм таким образом). Однако в Go, во многом являющимся наследником Limbo, от этого отказались и пакеты в общем-то не делятся на файлы интерфейса/реализации. Также Н.Вирт при создании Оберона отказался от такого деления, которое было в его предыдущих языках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2012, 09:08 |
|
||
|
|

start [/forum/topic.php?all=1&fid=16&tid=1341999]: |
0ms |
get settings: |
11ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
163ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
96ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 540ms |

| 0 / 0 |
