Здравствуйте, OdesitVadim, Вы писали:
VD>>Скажи, то совсем невменяемый, или у тебя это так, временные помутнения рассудка? Читай вниматльно, что написано. (Бараны те кто придумывают задачи в наших институтах)
OV>Видимо в институте вас обидели. Сочувствую. Но мы здесь нипричём. По крайней мере я.
Уважаеймый, Вы еще и психолог? Ну, так это не Ваш профильный форум. Может быть немного уберешь спесь?
Меня никто не обижал. Я констатирую факт. Задачи сформулированы такие, что за них нужно выгонять с работы.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[22]: Расскажите профессионально, чем Java разработка быс
Здравствуйте, OdesitVadim, Вы писали:
OV>Ага. Через одно место. Потом это дело надо назад приводить. Размерности помнить.
Приводить это никуда не надо. Размеры конечно нужно таскать самому и контролировать все внучную. Но это С. Я кажется не призывал на нем детей программировать учить. Это ты о нем заговорил. В С++, к примеру, вместо матрицы я бы воспользовался бы std::vector-ом со вложенностью (вектор векторов), так как язык ОО. В прочем, С++ я бы тоже не взял бы как первый язык. Я бы учил на Яве или одном из языков дотнета. Хоть на Васике последнем.
OV>Ну точно работает.
В прочем, я пробовал Ctrl+Ins. Если они реализовали в чисто виндовом продукте только Ctrl+C и не реализовали при этом Ctrl+Ins, то это тоже показатель отношения к пользовтелю. Хотя конечно уже не такой вопиющий.
VD>>Внимание, вопрос! Кому на фиг нужно такое обучение? Мы специально недоучек клепаем? Или чем больше трудностей тем лучше? OV>О, вы правильно копнули. плохие преподаватели. Но и студенты лентяи. А вот это действительно большая проблема. А потом такие люди пойдут в начальники.
Студенты несомненно лентяи. Они еще молоды и не увлечены своим делом (по крайней мерее многие). Задача преподавательского состава заинтересовать студентов и дать им качественное образование. А я вижу ровно обратное. Заинтерисоваться на таких задачах нельзя. Можно только заработать комплекс неполноценности (студент будет читать такие задачи и дуать, что он дурак).
VD>>Повторяю последний раз. Вопросы сформулированы не корректно. OV>Просто вы слишком умны для данных задач и ищете того, что там нет. Они рассчитаны на другой уровень.
Нельзя быть слишком умным. Недостаточно, можно. Но слишком, нельзя. Вопросы эти не рассчитанны на другой уровень. У них у самих другой уровень... чуть ниже плинтуса. Я узнал, в этом институте информатику преподает бабушка. Что тут еще можно сказать? И это, между прочем, подготовка кадров для нашей нефтянки.
VD>>В них присуствуют неоднозначности. Языки тут не причем. OV>то у вас язык причём, то нипричём. определитесь.
Я кажется выразился однозначно. Задачи сформулированны неоднозначно. А язык просто плохо подходит для данных задач.
VD>>После слов "воспользуйтесь матрицей или двумя массивами" я тихо охренел, так как не могу понять как матрица может быть эмулирована двумя массивами. И так там везде. OV>мда, OV>Вариант раз. практически любая задача может решаться несколькими способами.
Серьезно? А я вот читал учебники по математики и там всегда одно решение. Может все же дел в тех кто составляет условия задач?
OV> Так что было предложено решить одним из вариантов. С отрывом от задачи эти слова — пустое место.
Проблема в том, что при том условии, вообще не ясно, что же нужно делать.
Ладно. Мне этот диалог с человеком ищущим проблемы в собеседниках просто не интересен. Считай себя умнее других и даказывай все окружающим это. И не в коем случе никому не верь. Адью.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[25]: Расскажите профессионально, чем Java разработка быс
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, OdesitVadim, Вы писали:
VD>>>Скажи, то совсем невменяемый, или у тебя это так, временные помутнения рассудка? Читай вниматльно, что написано. (Бараны те кто придумывают задачи в наших институтах)
OV>>Видимо в институте вас обидели. Сочувствую. Но мы здесь нипричём. По крайней мере я.
VD>Уважаеймый, Вы еще и психолог? Ну, так это не Ваш профильный форум. Может быть немного уберешь спесь?
да. но в первую очередь я программист. VD>Меня никто не обижал. Я констатирую факт. Задачи сформулированы такие, что за них нужно выгонять с работы.
никаой конкретики. Только выгонять. Переформулируйте задачу так, что бы она была понятна для вас. Также немешало бы посмотреть на ваще решение я немерле.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[23]: Расскажите профессионально, чем Java разработка быс
Здравствуйте, VladD2, Вы писали:
OV>>Но это С. Я кажется не призывал на нем детей программировать учить. Это ты о нем заговорил.
Я лично против обучения массового на нём. Надо как минимум два — три языка давать. OV>>В С++, к примеру, вместо матрицы я бы воспользовался бы std::vector-ом со вложенностью (вектор векторов), так как язык ОО.
перед тем, как обяснить вектор в stl нужно обяснить массив. Вы ведь тоже не сразу на stl перешли. Если учитывать что они пару месяцев как учат, то всё нормально. OV>>В прочем, С++ я бы тоже не взял бы как первый язык. OV>>Я бы учил на Яве или одном из языков дотнета.
Ну... можно попробывать OV>>Хоть на Васике последнем.
Ужос.
А почему не немерле? OV>>Ну точно работает.
VD>В прочем, я пробовал Ctrl+Ins. Если они реализовали в чисто виндовом продукте только Ctrl+C и не реализовали при этом Ctrl+Ins, то это тоже показатель отношения к пользовтелю. Хотя конечно уже не такой вопиющий.
Вау, впервые.
VD>Студенты несомненно лентяи. Они еще молоды и не увлечены своим делом (по крайней мерее многие). Задача преподавательского состава заинтересовать студентов и дать им качественное образование. А я вижу ровно обратное. Заинтерисоваться на таких задачах нельзя. Можно только заработать комплекс неполноценности (студент будет читать такие задачи и дуать, что он дурак).
VD>>>Повторяю последний раз. Вопросы сформулированы не корректно. OV>>Просто вы слишком умны для данных задач и ищете того, что там нет. Они рассчитаны на другой уровень.
VD>Нельзя быть слишком умным.
А немношко больше — точно. VD>Недостаточно, можно. Но слишком, нельзя. Вопросы эти не рассчитанны на другой уровень. У них у самих другой уровень... чуть ниже плинтуса. Я узнал, в этом институте информатику преподает бабушка. Что тут еще можно сказать? И это, между прочем, подготовка кадров для нашей нефтянки.
бывает. VD>>>В них присуствуют неоднозначности. Языки тут не причем. OV>>то у вас язык причём, то нипричём. определитесь.
VD>Я кажется выразился однозначно. Задачи сформулированны неоднозначно. А язык просто плохо подходит для данных задач.
ждёмс ваших "исправленных формулировок" и решений на лёгком языке VD>>>После слов "воспользуйтесь матрицей или двумя массивами" я тихо охренел, так как не могу понять как матрица может быть эмулирована двумя массивами. И так там везде. OV>>мда, OV>>Вариант раз. практически любая задача может решаться несколькими способами.
VD>Серьезно? А я вот читал учебники по математики и там всегда одно решение. Может все же дел в тех кто составляет условия задач?
Даже школьные задачки имеют по несколько решений OV>> Так что было предложено решить одним из вариантов. С отрывом от задачи эти слова — пустое место.
VD>Проблема в том, что при том условии, вообще не ясно, что же нужно делать.
Там всё чётко сказано. VD>Ладно. Мне этот диалог с человеком ищущим проблемы в собеседниках просто не интересен. Считай себя умнее других и даказывай все окружающим это.
Я не считаю себя умнее всех VD> И не в коем случе никому не верь.
И вам в том числе. Что я и делаю. VD>Адью.
Сваливаем? так рано?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[26]: Расскажите профессионально, чем Java разработка быс
Здравствуйте, OdesitVadim, Вы писали:
OV>да. но в первую очередь я программист.
Ну, так программируй, а не пытайся лечить чужой мозг.
VD>>Меня никто не обижал. Я констатирую факт. Задачи сформулированы такие, что за них нужно выгонять с работы. OV>никаой конкретики.
К сожалению, я их не особо схранял. Одина из задач звучит так:
Составить программу по заданному условию.
Первой частью условия является задание на разработку процедуры для любой функции F или пары функций.
Для заданного массива C из n элементов составить процедуру, подсчитывающую количество случаев равенства F(Ci) заданной величине.
В матрице A определить, в какой строке находится наибольшее число элементов, целая часть которых равна единице.
Прошу учесть, что это одна задача, а не две.
OV>Только выгонять. Переформулируйте задачу так, что бы она была понятна для вас. Также немешало бы посмотреть на ваще решение я немерле.
Нельзя решить, то что не ясно сформулировано.
Если речь идет о задаче которую я приводил на Дельфи, то как-то так:
Единственное, что я не стал делать, так это трахаться с передачей индекса через параметр, и вернул его просто как значение функции.
Правда, почти уверен, что смысл indexOfMinVal для большинства будет непонятет, так как с концепцией Fold большинство ииперативщиков не знакомы (хотя ее аналог есть в STL под именем accumulate).
В общем, если нужны пояснения, могу дать.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[27]: Расскажите профессионально, чем Java разработка быс
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, OdesitVadim, Вы писали:
OV>>да. но в первую очередь я программист.
VD>Ну, так программируй, а не пытайся лечить чужой мозг.
мозг не лечу. И програмлю потихоньку. VD>К сожалению, я их не особо схранял.
Это плохо. Так как оригинальная формулировка может быть интересней. VD>Одина из задач звучит так: VD>
Составить программу по заданному условию.
VD>Первой частью условия является задание на разработку процедуры для любой функции F или пары функций.
VD>Для заданного массива C из n элементов составить процедуру, подсчитывающую количество случаев равенства F(Ci) заданной величине.
VD>В матрице A определить, в какой строке находится наибольшее число элементов, целая часть которых равна единице.
VD>Прошу учесть, что это одна задача, а не две.
Ну так нормально. Кто сказал, что программа должна просто выводить одно число? она может и десяток вывести. Просто попросили вывести и то и другое. Ну соеденили две задачи в одну.
Ура решение на немерле!!! VD>Если речь идет о задаче которую я приводил на Дельфи, то как-то так: VD>
VD>using System;
VD>using System.Console;
//Супер, заюзали готовую либу. я так тоже могу. и решение станет проще. Причём стандартную.
VD>using Nemerle.Utility;
//В паскале также можно просто инициализировать массивы. А у вас там в паскальном варианте был просто ужос.
VD>def matrix = array[array[5, 2, 7, 3, 9],
VD> array[9, 4, 8, 7, 5],
VD> array[4, 3, 7, 9, 1]];
//гламурненько
VD>def printMatrix(msg, matrix)
VD>{
VD> WriteLine(msg);
VD> foreach (row in matrix)
VD> WriteLine(row.ToString(", "));//вот здесь особенно.
VD>}
//да, здесь что то дивное.
VD>def indexOfMinVal(ary)
VD>{
VD> ary.FoldI((-1, int.MaxValue),
VD> fun (i, elem, (iAcc, acc)) { if (elem < acc) (i, elem) else (iAcc, acc) } )[0]
VD>}
VD>printMatrix("Before swap:", matrix);
// и тут.
VD>matrix[1][indexOfMinVal(matrix[1])] <-> matrix[2][indexOfMinVal(matrix[2])];
VD>printMatrix("After swap:", matrix);
VD>
VD>Единственное, что я не стал делать, так это трахаться с передачей индекса через параметр, и вернул его просто как значение функции.
Ну так в паскале тоже никто не мешал. VD>Правда, почти уверен, что смысл indexOfMinVal для большинства будет непонятет, так как с концепцией Fold большинство ииперативщиков не знакомы (хотя ее аналог есть в STL под именем accumulate).
Можем почитать доки VD>В общем, если нужны пояснения, могу дать.
Ну и послушать ваши предложения.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[24]: Расскажите профессионально, чем Java разработка быс
Здравствуйте, OdesitVadim, Вы писали:
OV>Я лично против обучения массового на нём.
Я тоже против С, но и против Дельфи. Особенно то что не .NET. В прочем, сам начал программировать на С и в общем-то ничего не потерял. Но тогда выбора особо не было.
OV>Надо как минимум два — три языка давать.
Может и надо, но когда один язык освоен. И второй язык (а то и первы) должен быть фунциональным. Давать С и Дельфи все то же не дело.
А в начале обучения язык должен быть один.
OV>перед тем, как обяснить вектор в stl нужно обяснить массив.
Несомненно. Но а) можно пережить без матриц (особенно если с ними задница в языке на котором даются задания), б) лучше для этого восользоваться языком где массивы реализованы качествнно.
OV>Вы ведь тоже не сразу на stl перешли. Если учитывать что они пару месяцев как учат, то всё нормально.
Несомненно. И я оять же не призываю учить на С++. Это язык вообще не должен быть первым.
OV>>>В прочем, С++ я бы тоже не взял бы как первый язык. OV>>>Я бы учил на Яве или одном из языков дотнета. OV>Ну... можно попробывать
Кому?
OV>>>Хоть на Васике последнем. OV>Ужос.
А что ужас? Васик на сегодня в разы качественее Дельфи. Он вообще мало в чем уступает Шарпу. Более того если преподавать его акуратно, то можно еще динамику людям показать.
OV>А почему не немерле?
Да, я бы всеми руками за. Темболе, что на этом языке моно преподать почти все известные парадигмы программирования (за ислючением логического программирования). Но вот преподаватели у нас его вряд ли смогут освоить. Они об ассемблерных вставках все заботятся. Плюс косность мышления и стремление дать "мэйнстрим" (даже если в результате дают полностью устаревший неуправляемый Дельфи). В общем, как всегда военные готовятся в прошлой войне, а институты готовят к прошлому веку.
Кстати, в Польше, где и создан Немерле, во всю учат студентов именно на Немерле. Говорят, что результат отличный.
OV>Сваливаем? так рано?
Мое время стоит денег. А вот то что ты там о бо мне подумашь мне совершенно монопенесуально. Так что извини.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[28]: Расскажите профессионально, чем Java разработка быс
Здравствуйте, OdesitVadim, Вы писали:
OV>Можем почитать доки
Плиз: http://en.wikipedia.org/wiki/Fold_%28higher-order_function%29
Примеры, правда на Хаскеле и Схеме, но описание более чем подробное.
Единвственно, что я применил расширенную версию функции которая кроме аккомулятора предоставляет еще индекс текущего элемента.
VD>>В общем, если нужны пояснения, могу дать. OV>Ну и послушать ваши предложения.
using System;
using System.Console;
using Nemerle.Utility;
// Объявление массива массиво (аналогично Дельфи)
// можно использовать полноценную матрицу, но для
// данной задачи это не очень удобно. Хотя разница не велика.
def matrix = array[array[5, 2, 7, 3, 9],
array[9, 4, 8, 7, 5],
array[4, 3, 7, 9, 1]];
// Локальная фукнция. В Паскле есть похожее решение, но Паскалевские
// локальные фукнции определятся только перед телом и не допускают
// замыканий (см. сслку за кодом).
def printMatrix(msg, matrix) // здесь, думаю, объяснять нечего. Все очевидно.
{
WriteLine(msg);
foreach (row in matrix)
// Ну, разве что ToString - это не просто метод, а хитрая штуковина
// - метод расширение. Это статический метод который можно вызывать
// как экземплярный. Такими методами ожно дописывать нужную функциональность
// к любым классам и интерфейсам. В данном случае он реализован для
// IEnumerable[T] и значит применим к любым коллекциям. Он просто
// выводит содержимое коллекции в строку разделяя элементы
// строкой-разделителем (в данном случае запятой.
WriteLine(row.ToString(", "));
}
def indexOfMinVal(ary)
{ // Пожалй самый непонятный императивщикам метод.
// Сначала нужно понять что же такое Fold. Выще я уже дал ссылку
// на его описание. В двух словах Fold производит свретку, что аналогично
// работе цикла тело которого добавляет что-то к некоторой локальной
// переменной. FoldI - это аналог Fold-а который кроме аккомулятора
// передает еще и индекс текущего элемента.
ary.FoldI(
// Первый параметр FoldI - это начальное значение акомулятора.
// В данном случае используется специфична для языка фишка - кортеж.
// Кортеж это как анонимная структура с неизменяемыми полями.
// с их помощью можно возвращать из фунций или передавать в качестве
// параметра сразу несколко значений не создавая при этом отдельный тип.
(-1, int.MaxValue),
// В качестве второго параметра фукнци FoldI передается ссылка на фунцию.
// В дельфи есть ссылки на фукнции, но это убогая пародия на то, что
// поддерживается в Немерле. Основное в том, что Немерловые ссылки
// позволяют передавать замыкания (фукнции с контекстом).
// В данном примере передаваемая функция создается по месту.
// Это называется лямбда (см. ссылку за кодом).
// Синтаксис "fun (список параметров) { список выражений }",
// "параметр => выражение" или "(список параметров) => выражение"
// описывает анонимную функцию - лямбду.
// Синтаксис "fun..." позволяет "раскрывать" значение кортежей.
// (iAcc, acc) - это и есть раскрытие котрежа. После раскрытия
// в теле лямбды мы можем использовать имена полученные в процессе
// раскрытия, а не возиться со всем корежем.
// В данном случае мы описываем фунцию со следующими параметрами:
fun (i, // индекс текущего элемента
elem, // значение текущего элемента
(iAcc, acc) // аккумулятор (в дамнном случае котреж содержащий индес мин. элемента и значение мин.элемента.
)
// Тело вроде и так очевидно. Единственное не очевидное - это применение
// тех же кортежей. Это повзоляет венуть нам из фунции два значения.
// индекс и значение минимального элемента. Понятно, что в случае
// когда значение текущего элемента меньше чем минимального, вычесленного
// на прошлых шагах, то мы возвращаем текущие индекс и значение, в
// обратном случае мы возращаем значение акомулятора.
{ if (elem < acc) (i, elem) else (iAcc, acc) }
// а так можно обратиться к первому полю кортежа. В нем лежит
// вычесленны индекс минимального элемента (или -1 если элементов небыло)
// Значение мин. элемента нас не интересует и мы его игнорируем.
// Понятно, что сделать это нам позволяет тот факт, что функция FoldI
// возвращает кортеж (так как кортэж использован как нинициализирующее
// значение и как параметр лямбды.
// Заметьте, что типы мы явно не указываем. Умный компилятор выводит их за нас!
)[0]
}
printMatrix("Before swap:", matrix);
// <-> - это оператор реализованный в стандартной библиотеке макросов Немерла
// он меняет значения переменных или выражений (если они допускают измененеие)
matrix[1][indexOfMinVal(matrix[1])] <-> matrix[2][indexOfMinVal(matrix[2])];
printMatrix("After swap:", matrix);
В общем, мне кажется очевидным, что код на Немерле намного более краткий. Не очевидно, что он еще и более понятный. Но уверяю тех кто не знаком с языком и/или фукнциональными концепциями, что для тех кто с ними знаком код действительно более понятный. Он декларативен. Мы не описываем лишние подробнсоти действий. Мы просто говорим свернуть список (абстракный, нам по фигу что за тип у списка) и вычислить индекс минимального элемента.
Отсуствие особых случаев с массивами позволяет избежать геморой и неожиданности которые нас поджидали в Дельфи.
Да и код еще к тому же получился полностью типобезопасным. Любую ошибку отловит компилятор. У нас просто нет возможности выйти за переделы массива и т.п. Мы оперируем с декларативными конструкциями. Мы деже не запрашиваем длинну массива (или его верхние/нижние границы). Вместо императивного описания процесса вычисления индекса, мы описываем декларативное правило его получения. Это существенно короче и полностью безопасно.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[28]: Расскажите профессионально, чем Java разработка быс
Здравствуйте, OdesitVadim, Вы писали:
OV>Ну так нормально. Кто сказал, что программа должна просто выводить одно число? она может и десяток вывести. Просто попросили вывести и то и другое. Ну соеденили две задачи в одну.
Ничего нормального там нет. Но убеждать тебя в этом у меня нет никакого желания. Я просто не хотел бы сам попасть в такие словия или чтобы в них попали мои дети (дети моих близких и знакомых).
OV>Ну так в паскале тоже никто не мешал.
Это было дурным описанием в задаче. Просто так как я пишу код уже не для тупой бабки-училки, то позволил себе писать более по человечески.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[29]: Расскажите профессионально, чем Java разработка быс
VD>Это было дурным описанием в задаче. Просто так как я пишу код уже не для тупой бабки-училки, то позволил себе писать более по человечески.
Никлаус Вирт вроде был не тупым дедкой, ан как-то не постеснялся написать язык для обучения молодежи программированию. Хороший такой язык получился, процедурный. Потом из него вообще конфетку сделали в виде Делфи.
В институтах еще и ассемблеру учать, да-да. И как-то не переживают, что нет в нем ни функциональщины, ни ООП даже
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[22]: Расскажите профессионально, чем Java разработка быс
Здравствуйте, OdesitVadim, Вы писали:
VD>>Повторяю последний раз. Вопросы сформулированы не корректно. OV>Просто вы слишком умны для данных задач и ищете того, что там нет. Они рассчитаны на другой уровень.
Не могу удержаться:
Ему дали тест на проверку умственных способностей. Первая задача по математике была такой: порт Смит на 100 миль выше по течению, чем порт Джонс. Скорость течения — 5 миль в час. Скорость лодки — 10 миль в час. За какое время лодка доберется из порта Смита в порт Джонс? За какое время она проделает обратный путь?
Лоуренс тут же понял, что задачка с подвохом. Нужно быть полным идиотом, чтобы предположить, будто течение увеличивает и уменьшает скорость лодки на 5 миль в час. Ясно, что 5 миль в час — всего лишь средняя скорость. Течение быстрее в середине реки, медленнее — у берегов; более сложные вариации следует ожидать на излучинах реки. По сути это вопрос гидродинамики, который решается с помощью хорошо известных дифференциальных уравнений. Лоуренс нырнул в задачку и быстро (или так ему казалось) исписал вычислениями десять листов. По ходу он осознал, что одна его посылка вместе с упрощенным уравнением Навье-Стокса приводит к очень занятной семейке частных дифференциальных уравнений. Он не успел очухаться, как доказал теорему. Если это не подтверждает его умственный уровень, то что тогда подтверждает?
Тут прозвенел звонок и собрали работы. Лоуренс сумел спасти черновик. Он отнес листок в казарму, перепечатал на машинке и отправил в Принстон одному из наиболее демократичных преподавателей математики, который тут же договорился о публикации в парижском журнале.
Лоуренс получил два свежих бесплатных оттиска несколько месяцев спустя, при раздаче почты на борту линкора «Невада». На корабле был оркестр, и Лоуренсу поручили играть в нем на глокеншпиле: тест показал, что ни на что более умное он не способен.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[30]: Расскажите профессионально, чем Java разработка быс
Здравствуйте, SergeyGotsulyak, Вы писали:
SG>Никлаус Вирт вроде был не тупым дедкой, ан как-то не постеснялся написать язык для обучения молодежи программированию. Хороший такой язык получился, процедурный. Потом из него вообще конфетку сделали в виде Делфи.
Это дельфя то конфетка?
Блин да на С++ писать проще.
SG>В институтах еще и ассемблеру учать, да-да. И как-то не переживают, что нет в нем ни функциональщины, ни ООП даже
Ассемблеры изучать несомненно нужно. Причем разные.
Но потом.
А сначала нужно изучить ЯВУ причем чтонибудь функциональное, а лучше гибрид чтобы на одном языке показать все.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[30]: Расскажите профессионально, чем Java разработка быс
Здравствуйте, SergeyGotsulyak, Вы писали:
SG>Никлаус Вирт вроде был не тупым дедкой, ан как-то не постеснялся написать язык для обучения молодежи программированию. Хороший такой язык получился, процедурный.
Да, язык в общем получился довольно неплохой для введения в программирование. Но в мссы он не пошел. Видимо название Оберон 2 отпугнуло людей .
SG>Потом из него вообще конфетку сделали в виде Делфи.
А ты про Паскаль?
Ну, полноценным языком он не был. Турбо Паскаль, Обжет Паскаль переименованный в последствии в Дельфи конечно стали более практичными, но языки как раз получились совершенно отвратительными. Как раз принцыпы Паскаля они поправли (безопасность и простота), а новых удобных концепций привнесли не много.
SG>В институтах еще и ассемблеру учать, да-да. И как-то не переживают, что нет в нем ни функциональщины, ни ООП даже
При этом приследуются совсем другие цели (я надеюсь). Ассемлер позовляет понять как работает компьютер. Это практически мнемоники для машинных команд, ведь. Вот если бы в институтмах учили только на ассемблере программироваать, то из институтов выходили бы откровенные дебилы.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[30]: Расскажите профессионально, чем Java разработка быс
Здравствуйте, SergeyGotsulyak, Вы писали:
VD>>Это было дурным описанием в задаче. Просто так как я пишу код уже не для тупой бабки-училки, то позволил себе писать более по человечески. SG>Никлаус Вирт вроде был не тупым дедкой, ан как-то не постеснялся написать язык для обучения молодежи программированию. Хороший такой язык получился, процедурный. Потом из него вообще конфетку сделали в виде Делфи.
Вот только Паскаль придумался в ту пору, когда еще горячо спорили о необходимости добавления поддержки рекурсии в язык. Сейчас он устарел и не позволяет делать многие нужные вещи.
Ну а язык в Дельфи — это скорее рвотная масса, а не язык — жуткий монстрик, заточеный только под одну задачу.
SG>В институтах еще и ассемблеру учать, да-да. И как-то не переживают, что нет в нем ни функциональщины, ни ООП даже
Ассемблеры — это полезно, особенно для понимания в разница между CISC- и RISC-системами и почему в современных процессорах ее нет.
Sapienti sat!
Re[31]: Расскажите профессионально, чем Java разработка быс
Здравствуйте, SergeyGotsulyak, Вы писали:
WH>> Это дельфя то конфетка? WH>>Блин да на С++ писать проще.
SG>Мне тоже было проще, пока Делфю не попробовал
В С++ есть шаблоны и автоматические деструкторы. В дельфе этого нет.
А возможность обобщенного автоматического управления ресурсами могого стоит.
Плюс строготипизированные обобщенные коллекции и многое другое.
Так что не надо.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[33]: Расскажите профессионально, чем Java разработка быс
WH>В С++ есть шаблоны и автоматические деструкторы. В дельфе этого нет. WH>А возможность обобщенного автоматического управления ресурсами могого стоит. WH>Плюс строготипизированные обобщенные коллекции и многое другое. WH>Так что не надо.
Тем не менее знаю как минимум два серьезных проекта, которые ничуть не пострадали от того, что были реализованы на Делфи — движок полнотекстового поиска в Arhivarius3000 (один из самых мощных и быстрых в своем классе) — и серверная+клиентская часть сервиса RDM+ (удаленный десктоп на мобилах).
Что касается моего опыта работы — скорость компиляции Делфи раз в 10 выше, простота подключения и использования сторонних наработок тоже на голову выше, чем С++. Причина банальна — Делфи развивается одной конторой.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[34]: Расскажите профессионально, чем Java разработка быс
Здравствуйте, SergeyGotsulyak, Вы писали:
SG>Что касается моего опыта работы — скорость компиляции Делфи раз в 10 выше, простота подключения и использования сторонних наработок тоже на голову выше, чем С++. Причина банальна — Делфи развивается одной конторой.
Угу. C++ Builder тоже развивался одной конторой. Более того, той же самой конторой. Увы. Результат, в общем-то, показывает, какие преимущества дает конторе правильный язык.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[4]: Расскажите профессионально, чем Java разработка быст
Здравствуйте, Baudolino, Вы писали:
F>>А можно пример когда этот Reflection пригодился бы, и получилось что-то такое, что нельзя на конкурирующих языках? B>динамическое построение пользовательского интерфейса
ммм... qt, делфи/билдер, винапи итд... разве не позволяют динамически интерфейс лабать?
F>>А delphi 2007 скажем? или свежая Visual Studio? B>Свежая студия ничего интересного с С++ не умеет. Дельфи не видел, но опять же — это совсем другая опера.
Спор ни о чем. Хорошая иде должна уметь минимум автокомплит, подсветку, кодогенерацию и дебаг. Ну еще желательно элементы рефакторинга.
Все. Остальное — от лукавого. Чаще либо отвлекает, либо просто висит ненужным грузом, за который приходится доплачивать в случае платной ИДЕ.
[RSDN@Home][1.2.0][alpha r.677]
Matrix has you...
Re[35]: Расскажите профессионально, чем Java разработка быс
Здравствуйте, Sinclair, Вы писали:
S>Здравствуйте, SergeyGotsulyak, Вы писали:
SG>>Что касается моего опыта работы — скорость компиляции Делфи раз в 10 выше, простота подключения и использования сторонних наработок тоже на голову выше, чем С++. Причина банальна — Делфи развивается одной конторой. S>Угу. C++ Builder тоже развивался одной конторой. Более того, той же самой конторой. Увы. Результат, в общем-то, показывает, какие преимущества дает конторе правильный язык.
Мало кто принимает во внимание, что основным языком у той конторы, который ему приносил львиную часть доходов, были не Delphi и даже не C++.