Re[24]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.06.07 12:28
Оценка:
Здравствуйте, OdesitVadim, Вы писали:

VD>>Скажи, то совсем невменяемый, или у тебя это так, временные помутнения рассудка? Читай вниматльно, что написано. (Бараны те кто придумывают задачи в наших институтах)


OV>Видимо в институте вас обидели. Сочувствую. Но мы здесь нипричём. По крайней мере я.


Уважаеймый, Вы еще и психолог? Ну, так это не Ваш профильный форум. Может быть немного уберешь спесь?

Меня никто не обижал. Я констатирую факт. Задачи сформулированы такие, что за них нужно выгонять с работы.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[22]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.06.07 12:28
Оценка:
Здравствуйте, 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 разработка быс
От: OdesitVadim Украина  
Дата: 08.06.07 12:36
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, OdesitVadim, Вы писали:


VD>>>Скажи, то совсем невменяемый, или у тебя это так, временные помутнения рассудка? Читай вниматльно, что написано. (Бараны те кто придумывают задачи в наших институтах)


OV>>Видимо в институте вас обидели. Сочувствую. Но мы здесь нипричём. По крайней мере я.


VD>Уважаеймый, Вы еще и психолог? Ну, так это не Ваш профильный форум. Может быть немного уберешь спесь?

да. но в первую очередь я программист.
VD>Меня никто не обижал. Я констатирую факт. Задачи сформулированы такие, что за них нужно выгонять с работы.
никаой конкретики. Только выгонять. Переформулируйте задачу так, что бы она была понятна для вас. Также немешало бы посмотреть на ваще решение я немерле.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[23]: Расскажите профессионально, чем Java разработка быс
От: OdesitVadim Украина  
Дата: 08.06.07 12:49
Оценка:
Здравствуйте, 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 разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.06.07 13:26
Оценка:
Здравствуйте, OdesitVadim, Вы писали:

OV>да. но в первую очередь я программист.


Ну, так программируй, а не пытайся лечить чужой мозг.

VD>>Меня никто не обижал. Я констатирую факт. Задачи сформулированы такие, что за них нужно выгонять с работы.

OV>никаой конкретики.

К сожалению, я их не особо схранял. Одина из задач звучит так:

Составить программу по заданному условию.
Первой частью условия является задание на разработку процедуры для любой функции F или пары функций.
Для заданного массива C из n элементов составить процедуру, подсчитывающую количество случаев равенства F(Ci) заданной величине.
В матрице A определить, в какой строке находится наибольшее число элементов, целая часть которых равна единице.

Прошу учесть, что это одна задача, а не две.

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)
    WriteLine(row.ToString(", "));
}
  
def indexOfMinVal(ary)
{
  ary.FoldI((-1, int.MaxValue), 
    fun (i, elem, (iAcc, acc)) { if (elem < acc) (i, elem) else (iAcc, acc) } )[0]
}


printMatrix("Before swap:", matrix);
matrix[1][indexOfMinVal(matrix[1])] <-> matrix[2][indexOfMinVal(matrix[2])];
printMatrix("After swap:", matrix);

Единственное, что я не стал делать, так это трахаться с передачей индекса через параметр, и вернул его просто как значение функции.

Правда, почти уверен, что смысл indexOfMinVal для большинства будет непонятет, так как с концепцией Fold большинство ииперативщиков не знакомы (хотя ее аналог есть в STL под именем accumulate).

В общем, если нужны пояснения, могу дать.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[27]: Расскажите профессионально, чем Java разработка быс
От: OdesitVadim Украина  
Дата: 08.06.07 13:44
Оценка:
Здравствуйте, 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 разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.06.07 14:19
Оценка:
Здравствуйте, 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 разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.06.07 22:15
Оценка:
Здравствуйте, 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 разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 08.06.07 22:15
Оценка:
Здравствуйте, OdesitVadim, Вы писали:

OV>Ну так нормально. Кто сказал, что программа должна просто выводить одно число? она может и десяток вывести. Просто попросили вывести и то и другое. Ну соеденили две задачи в одну.


Ничего нормального там нет. Но убеждать тебя в этом у меня нет никакого желания. Я просто не хотел бы сам попасть в такие словия или чтобы в них попали мои дети (дети моих близких и знакомых).

OV>Ну так в паскале тоже никто не мешал.


Это было дурным описанием в задаче. Просто так как я пишу код уже не для тупой бабки-училки, то позволил себе писать более по человечески.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[29]: Расскажите профессионально, чем Java разработка быс
От: SergeyGotsulyak  
Дата: 09.06.07 04:43
Оценка:
VD>Это было дурным описанием в задаче. Просто так как я пишу код уже не для тупой бабки-училки, то позволил себе писать более по человечески.

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

В институтах еще и ассемблеру учать, да-да. И как-то не переживают, что нет в нем ни функциональщины, ни ООП даже
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[22]: Расскажите профессионально, чем Java разработка быс
От: Sinclair Россия https://github.com/evilguest/
Дата: 09.06.07 05:22
Оценка: 5 (3) :))) :)))
Здравствуйте, OdesitVadim, Вы писали:

VD>>Повторяю последний раз. Вопросы сформулированы не корректно.

OV>Просто вы слишком умны для данных задач и ищете того, что там нет. Они рассчитаны на другой уровень.
Не могу удержаться:

Ему дали тест на проверку умственных способностей. Первая задача по математике была такой: порт Смит на 100 миль выше по течению, чем порт Джонс. Скорость течения — 5 миль в час. Скорость лодки — 10 миль в час. За какое время лодка доберется из порта Смита в порт Джонс? За какое время она проделает обратный путь?
Лоуренс тут же понял, что задачка с подвохом. Нужно быть полным идиотом, чтобы предположить, будто течение увеличивает и уменьшает скорость лодки на 5 миль в час. Ясно, что 5 миль в час — всего лишь средняя скорость. Течение быстрее в середине реки, медленнее — у берегов; более сложные вариации следует ожидать на излучинах реки. По сути это вопрос гидродинамики, который решается с помощью хорошо известных дифференциальных уравнений. Лоуренс нырнул в задачку и быстро (или так ему казалось) исписал вычислениями десять листов. По ходу он осознал, что одна его посылка вместе с упрощенным уравнением Навье-Стокса приводит к очень занятной семейке частных дифференциальных уравнений. Он не успел очухаться, как доказал теорему. Если это не подтверждает его умственный уровень, то что тогда подтверждает?
Тут прозвенел звонок и собрали работы. Лоуренс сумел спасти черновик. Он отнес листок в казарму, перепечатал на машинке и отправил в Принстон одному из наиболее демократичных преподавателей математики, который тут же договорился о публикации в парижском журнале.
Лоуренс получил два свежих бесплатных оттиска несколько месяцев спустя, при раздаче почты на борту линкора «Невада». На корабле был оркестр, и Лоуренсу поручили играть в нем на глокеншпиле: тест показал, что ни на что более умное он не способен.

... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[30]: Расскажите профессионально, чем Java разработка быс
От: WolfHound  
Дата: 09.06.07 06:36
Оценка:
Здравствуйте, SergeyGotsulyak, Вы писали:

SG>Никлаус Вирт вроде был не тупым дедкой, ан как-то не постеснялся написать язык для обучения молодежи программированию. Хороший такой язык получился, процедурный. Потом из него вообще конфетку сделали в виде Делфи.

Это дельфя то конфетка?
Блин да на С++ писать проще.

SG>В институтах еще и ассемблеру учать, да-да. И как-то не переживают, что нет в нем ни функциональщины, ни ООП даже

Ассемблеры изучать несомненно нужно. Причем разные.
Но потом.
А сначала нужно изучить ЯВУ причем чтонибудь функциональное, а лучше гибрид чтобы на одном языке показать все.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[30]: Расскажите профессионально, чем Java разработка быс
От: VladD2 Российская Империя www.nemerle.org
Дата: 10.06.07 16:03
Оценка:
Здравствуйте, SergeyGotsulyak, Вы писали:

SG>Никлаус Вирт вроде был не тупым дедкой, ан как-то не постеснялся написать язык для обучения молодежи программированию. Хороший такой язык получился, процедурный.


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

SG>Потом из него вообще конфетку сделали в виде Делфи.


А ты про Паскаль?

Ну, полноценным языком он не был. Турбо Паскаль, Обжет Паскаль переименованный в последствии в Дельфи конечно стали более практичными, но языки как раз получились совершенно отвратительными. Как раз принцыпы Паскаля они поправли (безопасность и простота), а новых удобных концепций привнесли не много.

SG>В институтах еще и ассемблеру учать, да-да. И как-то не переживают, что нет в нем ни функциональщины, ни ООП даже


При этом приследуются совсем другие цели (я надеюсь). Ассемлер позовляет понять как работает компьютер. Это практически мнемоники для машинных команд, ведь. Вот если бы в институтмах учили только на ассемблере программироваать, то из институтов выходили бы откровенные дебилы.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[30]: Расскажите профессионально, чем Java разработка быс
От: Cyberax Марс  
Дата: 10.06.07 20:09
Оценка: +1 :)
Здравствуйте, SergeyGotsulyak, Вы писали:

VD>>Это было дурным описанием в задаче. Просто так как я пишу код уже не для тупой бабки-училки, то позволил себе писать более по человечески.

SG>Никлаус Вирт вроде был не тупым дедкой, ан как-то не постеснялся написать язык для обучения молодежи программированию. Хороший такой язык получился, процедурный. Потом из него вообще конфетку сделали в виде Делфи.
Вот только Паскаль придумался в ту пору, когда еще горячо спорили о необходимости добавления поддержки рекурсии в язык. Сейчас он устарел и не позволяет делать многие нужные вещи.

Ну а язык в Дельфи — это скорее рвотная масса, а не язык — жуткий монстрик, заточеный только под одну задачу.

SG>В институтах еще и ассемблеру учать, да-да. И как-то не переживают, что нет в нем ни функциональщины, ни ООП даже

Ассемблеры — это полезно, особенно для понимания в разница между CISC- и RISC-системами и почему в современных процессорах ее нет.
Sapienti sat!
Re[31]: Расскажите профессионально, чем Java разработка быс
От: SergeyGotsulyak  
Дата: 13.06.07 04:07
Оценка:
WH> Это дельфя то конфетка?
WH>Блин да на С++ писать проще.

Мне тоже было проще, пока Делфю не попробовал
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[32]: Расскажите профессионально, чем Java разработка быс
От: WolfHound  
Дата: 13.06.07 04:33
Оценка:
Здравствуйте, SergeyGotsulyak, Вы писали:

WH>> Это дельфя то конфетка?

WH>>Блин да на С++ писать проще.

SG>Мне тоже было проще, пока Делфю не попробовал


В С++ есть шаблоны и автоматические деструкторы. В дельфе этого нет.
А возможность обобщенного автоматического управления ресурсами могого стоит.
Плюс строготипизированные обобщенные коллекции и многое другое.
Так что не надо.
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[33]: Расскажите профессионально, чем Java разработка быс
От: SergeyGotsulyak  
Дата: 13.06.07 07:22
Оценка: +1
WH>В С++ есть шаблоны и автоматические деструкторы. В дельфе этого нет.
WH>А возможность обобщенного автоматического управления ресурсами могого стоит.
WH>Плюс строготипизированные обобщенные коллекции и многое другое.
WH>Так что не надо.

Тем не менее знаю как минимум два серьезных проекта, которые ничуть не пострадали от того, что были реализованы на Делфи — движок полнотекстового поиска в Arhivarius3000 (один из самых мощных и быстрых в своем классе) — и серверная+клиентская часть сервиса RDM+ (удаленный десктоп на мобилах).

Что касается моего опыта работы — скорость компиляции Делфи раз в 10 выше, простота подключения и использования сторонних наработок тоже на голову выше, чем С++. Причина банальна — Делфи развивается одной конторой.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[34]: Расскажите профессионально, чем Java разработка быс
От: Sinclair Россия https://github.com/evilguest/
Дата: 13.06.07 07:56
Оценка:
Здравствуйте, SergeyGotsulyak, Вы писали:

SG>Что касается моего опыта работы — скорость компиляции Делфи раз в 10 выше, простота подключения и использования сторонних наработок тоже на голову выше, чем С++. Причина банальна — Делфи развивается одной конторой.

Угу. C++ Builder тоже развивался одной конторой. Более того, той же самой конторой. Увы. Результат, в общем-то, показывает, какие преимущества дает конторе правильный язык.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[4]: Расскажите профессионально, чем Java разработка быст
От: Sheridan Россия  
Дата: 13.06.07 08:14
Оценка:
Здравствуйте, 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 разработка быс
От: iZEN СССР  
Дата: 13.06.07 10:35
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, SergeyGotsulyak, Вы писали:


SG>>Что касается моего опыта работы — скорость компиляции Делфи раз в 10 выше, простота подключения и использования сторонних наработок тоже на голову выше, чем С++. Причина банальна — Делфи развивается одной конторой.

S>Угу. C++ Builder тоже развивался одной конторой. Более того, той же самой конторой. Увы. Результат, в общем-то, показывает, какие преимущества дает конторе правильный язык.

Мало кто принимает во внимание, что основным языком у той конторы, который ему приносил львиную часть доходов, были не Delphi и даже не C++.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.