Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.06.2013, 21:19   #41
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,690
По умолчанию

Цитата:
А как надо? Никто не знает, как надо.
существует такие дисциплины как "Теория языков программирования", "Теория вычислительных процессов" и т.д. там говорится как надо и как не надо на примере исследования существующих языков.
Цитата:
Сравнивая объекты, для которых отсутсвует операция сравнения Вы ведете себя никак программист.
Кто это сказал? Я могу и яблоки с грушами сравнить, форма, вкус, цвет, запах ...
Цитата:
Вы у создателей читать не пробовали? Иногда здорово помогает.
Вы как всегда смотрите в частности и не видите общего. "Все познается в сравнении."
Цитата:
Оно требует и больше знаний, чем традиционные языки и воспринимать его сложней.
Тот же C++ требует не меньше знаний.
Мне было бы интересно повстречать человека у которого первым языком был язык функционального программирования.
Цитата:
Так проскакивает очень дельная мысль о непопулярности и она имеет прямое отношение к Вам.
Тоже самое я могу сказать про Вас. Подробнее "парадокс Blub" и тут
Kostia вне форума Ответить с цитированием
Старый 12.06.2013, 22:56   #42
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
существует такие дисциплины как "Теория языков программирования", "Теория вычислительных процессов" и т.д. там говорится как надо и как не надо на примере исследования существующих языков.
К чему вы это написали? Чтобы показать, что наличие этих дисциплин по-прежнему не помогло создать языка программирования который устраивал бы всех? Или что создатели очередного языка являются идиотами, не изучающими данные дисицпилины? Ведь они по-прежнему не могут создать годный язык.
Цитата:
Кто это сказал? Я могу и яблоки с грушами сравнить, форма, вкус, цвет, запах ...
Вот мы и подошли к фарсу. Значит там где Вам нравится, Вы будете сравнивать велосипед с мамонтом. А там где Вам не нравится, Вы будете делать удивленное лицо - как же Хаскел можно сравнить с хтмл? То есть рационального критерия оценки нет - все зависит исключительно от Вашего настроения. Соответственно и объективности здесь не предвидится.
Цитата:
Вы как всегда смотрите в частности и не видите общего. "Все познается в сравнении."
Ну да Вам же лучше знать, чем создателю языка, для чего собственно язык предназначался. И если разработчик говорит, что язык предназначен для обработки строк - все равно нужно лично попробовать написать на нем драйвер, чтобы потом сказать, что это не язык, а убожество.
Цитата:
Тот же C++ требует не меньше знаний.
Да ну? Отчего же тогда С++ в массах, а Хаскел только в институтах. Не иначе потому что хаскел изучить много проще.
Цитата:
Тоже самое я могу сказать про Вас. Подробнее "парадокс Blub" и тут
Я давно уже эволюционировал дальше - пишу на нескольких языках и не смешиваю остальные с навозом.

Цитата:
Ну, одной из причин является то, что, скорее всего, операционная система написана на языке C или на каком-нибудь другом императивном языке, так что, если ваше приложение преимущественно взаимодействует с операционной системой, то вам будет проще использовать императивные языки.
То есть это с++ виноват в том, что хаскеловцы не могут создать себе годную операционку?
Цитата:
Другая причина малого распространения языка Haskell и других функциональных языков — это то, что в основном языки программирования редко считаются инструментами (хотя и являются ими).
Бред чистой воды. Каждый автор делающий хоть какой-то анализ язык(а, ов) называет его инструментом. Практически все профессионалы данного форума называют язык инструментом.
Цитата:
Для большинства людей их любимый язык программирования сродни религии — они даже представить себе не могут, что какой-то другой язык может выполнить задачу лучше и быстрее.
Опять же на каком-то уровне своего развития программер использует или вынужден использовать несколько языков (или переходит с одного на другой). После этого любовь обычно исчезает.
Дальше комментировать не стал - жалкая отмазка нытиков о том, почему массы не употребляют такие же вещества как и они.
По поводу верха и низа пирамиды тоже бред - объясняю почему. Нет здесь пирамиды (одной). Их здесь три как минимум - императивная, функциональная, логическая. Сидеть задницей на острие одной пирамиды и кидать какашками в другой в данном случае позиция автора про парадокс Blub. При этом внезапно выясняется, что если не срать на другие языки, а реально ими пользоваться (опять же камень в огород хаскела), то другая пирамида может оказаться кубом или сферой.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 12.06.2013 в 23:00.
Utkin вне форума Ответить с цитированием
Старый 13.06.2013, 00:20   #43
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Хаскел и ему подобные не востребованы хотя бы потому, что они имеют узко-специализированное направление. Или вы хотите сказать, что вот каждому второму программисту нужны заумные вычисления и крутая сортировка в нереально коротком и быстром коде?

Оно конечно же надо, но вот проблема. Язык может и мощный с точки зрения его направленности на вычисления, но вот полноценную программу на нем не написать, и встроить в уже готовую тоже(как те же ассемблерные вставки) нельзя. В этом весь и фэил.


Цитата:
Опять же на каком-то уровне своего развития программер использует или вынужден использовать несколько языков (или переходит с одного на другой). После этого любовь обычно исчезает.
++или просто саморазвитие и следование за развитием IT сферы.
Человек_Борща вне форума Ответить с цитированием
Старый 13.06.2013, 06:52   #44
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,690
По умолчанию

Цитата:
Хаскел и ему подобные не востребованы хотя бы потому, что они имеют узко-специализированное направление.
Хаскель - язык общего назначения.
Цитата:
К чему вы это написали? Чтобы показать, что наличие этих дисциплин по-прежнему не помогло создать языка программирования который устраивал бы всех?
Только благодаря этим дисциплинам и развиваются языки, там теории с запасом лет на десять вперед заготовлено )
Цитата:
Ну да Вам же лучше знать, чем создателю языка, для чего собственно язык предназначался.
Пример в лоб! Чёрч думаю и не догадывался, что его лямбдоисчисление будет применено в программировании. Также дела обстояли и в физики и в математике, авторы применяли свои наработки в одних областях и не догадывались о том, где их настоящая ниша. Мир не стоит на месте и постоянно подкидывает нам новые задачи.
Цитата:
Да ну? Отчего же тогда С++ в массах, а Хаскел только в институтах. Не иначе потому что хаскел изучить много проще.
Я бы тут выделил несколько уровней знания языка, уровень "быдло"(говно код, трудная поддержка, а что, зато могу любою задачи набыдлокодить) и уровень "магов"(недопонимание коллег, сложно найти спеца. такого же уровня и пр.) ), сами понимаете каких больше. В Хаскеле первого просто нет, отсюда и сложности изучения.
Цитата:
Я давно уже эволюционировал дальше - пишу на нескольких языках и не смешиваю остальные с навозом.
Хорошо, давайте подойдем к этапу проектирования ПО. На этом этапе нужно определиться с технологиями и языками которые вы будите использовать, без сравнения тут никак не обойтись, особенно если несколько языков включают в себя возможность решения поставленной задачи. Чем вы будите руководствоваться? Личными предпочтениями или объективно оцените все варианты?
Цитата:
Бред чистой воды. Каждый автор делающий хоть какой-то анализ язык(а, ов) называет его инструментом. Практически все профессионалы данного форума называют язык инструментом.
Я тоже много чего как называю и *** на заборе читаю. Львиной доли субъективности при анализе не избежать, вы всегда будите что-то с чем-то сравнивать иначе вам не сказать что лучше, а что хуже подходит для решения поставленной задачи и лично Вам.


PS: пожалуй и мне пора идти с форума =)

Последний раз редактировалось Kostia; 13.06.2013 в 06:55.
Kostia вне форума Ответить с цитированием
Старый 13.06.2013, 07:46   #45
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,690
По умолчанию

2Utkin, Почему вы используете C#, а не C++?
Если вы ответите что в C++ нет функции X, которая есть в C#, то стоните типичным представителем парадокса Blub.
Если вы ответите что испытываете симпатию к этому языку, то по вашему же определению перестаете быть профессионалом, т.к. перестаете его воспринимать только как инструмент.
Если вы ответите, что вас заставили(вряд ли), то противоречий в ваших постах просто не счесть.

Те языки которые вы используете, Вы наверняка используете а разных областях, а не чередуете их. Т.к. языков много, то вы проявили симпатию к конкретным из них.
Симпатия или любовь часто выливаются в фанатичность.
Kostia вне форума Ответить с цитированием
Старый 13.06.2013, 09:10   #46
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Только благодаря этим дисциплинам и развиваются языки, там теории с запасом лет на десять вперед заготовлено )
То есть по заданным вопросам ответить нечего?
Цитата:
Пример в лоб! Чёрч думаю и не догадывался, что его лямбдоисчисление будет применено в программировании.
Речь шла именно об языках программирования. Так что это не пример в лоб, а нечто не связано с обсуждением.
Цитата:
Я бы тут выделил несколько уровней знания языка, уровень "быдло"(говно код, трудная поддержка, а что, зато могу любою задачи набыдлокодить) и уровень "магов"(недопонимание коллег, сложно найти спеца. такого же уровня и пр.) ), сами понимаете каких больше. В Хаскеле первого просто нет, отсюда и сложности изучения.
Опять бред, нормальная контора не станет держать быдлокодера. Вернемся к предыдущему вопросу - еси хаскеловцы маги, почему у них нет своей магической операционки? И дальше - сложность изучения это минус языка. Считать что язык божественн потому его сложно изучить - учите эзотерический язык программирования.
Цитата:
Чем вы будите руководствоваться? Личными предпочтениями или объективно оцените все варианты?
Я буду руководствоваться тем, что мне скажет делать начальство. А оно поэзию и мистику не любит. И если оно сказало писать на с++, я буду материться и писать на с++. А не учить еще 3 года хаскел и переписывать половину имеющегося проекта под него. Надеюсь выбор - писать на с++ или сидеть дома без работы для Вас объективная причина?
Цитата:
Львиной доли субъективности при анализе не избежать, вы всегда будите что-то с чем-то сравнивать иначе вам не сказать что лучше, а что хуже подходит для решения поставленной задачи и лично Вам.
Когда же Вы наконец поймете, что я не смешиваю что удобно лично мне и что мне нужно сделать? Лично мне удобно вообще ничего не делать, а лежать на диване и смотреть каченные с торрента фильмы. Но вместо этого я каждый раз с утра встаю и иду на работу. Вместо того чтобы говорить книжными фразами - попробуйте подумать самостоятельно.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 13.06.2013, 09:23   #47
MihalNik
МегаМодератор
СуперМодератор
 
Регистрация: 27.11.2012
Сообщений: 5,669
По умолчанию

Цитата:
существует такие дисциплины как "Теория языков программирования", "Теория вычислительных процессов" и т.д. там говорится как надо и как не надо на примере исследования существующих языков.
Не знаю, что этим называется, и соответственно читал ли это
Тем не менее:
Код:
public static int LevenshteinDistance(string string1,string string2)
                {
                        if (string1==null) throw new ArgumentNullException("string1");
                        if (string2==null) throw new ArgumentNullException("string2");
                        int diff;                       
                        int [,] m = new int[string1.Length+1,string2.Length+1];
 
                        for (int i=0;i<=string1.Length;i++) m[i,0]=i;
                        for (int j=0;j<=string2.Length;j++) m[0,j]=j;
 
                        for (int i=1;i<=string1.Length;i++)
                                for (int j=1;j<=string2.Length;j++)
                                {
                                        diff=(string1[i-1]==string2[j-1])?0:1;
 
                                        m[i,j]=Math.Min(Math.Min(m[i-1,j]+1,
                                                                 m[i,j-1]+1),
                                                                 m[i-1,j-1]+diff);
                                }
 
                        return m[string1.Length,string2.Length];                
                }
Далеко не тру. Далее не вдаваясь в назначение кода, с точки зрения самого языка:
Если аккуратно сократить имена, посмотреть на индексы - станет очевидно - что матрица однократного связывания здесь не нужна.
А только одномерный массив:
Код:
public static int LevenshteinDistance(string s1,string s2){
  int l= s2.Length;
  int[] m = new int[l+1];//предыдущий ряд:
  for (int j= 0; j <= l; j++) m[j]= j;//начальные значения
  int d, d2;//элемент по диагонали (предыдущего номера и прохода)
  for (int i= 1; i <= s1.Length; i++){
    d= m[0];
    m[0]= i;
    for (int j= 1; j <= l; j++){
      d2= m[j];//сохранение для следующего номера
      if(m[j] > m[j-1]) m[j]= m[j-1];//выбираем из предыдущего номера или прохода  
      m[j]++;
      if(s1[i-1] != s2[j-1]) d++;
      if(m[j] > d) m[j]= d;
      d= d2;//сохраненное значение
      };
    };
  return m[l];
Т.е. Вы гоните в императивный язык функциональщину. И, очевидно, некорректным способом. Принципиально-то можно применить любую парадигму в любом языке (другой вопрос - стоит ли это делать, когда проще взять готовый язык). Однако, пока Вы этого не можете - лучше сконцентрироваться на каком-то одном языке.

Сравнение языков - вопрос очень сложный. Каким образом Вы предполагаете это сделать имея, по Вашим же словам, серьёзные проблемы с императивными?

Вполне обычное на Паскале:
Код:
x[j]:= 0;
i:= 0;
while((i < M) and (Basis[i] <> j)) do inc(i);
if(i < M) then x[j]:= Cons[i].B;
В ассемблере - полное Г. Зачем там два сравнения (i < M)?
И всё оказывается еще проще и лаконичнее

Так хочется, чтобы то, что мы изучаем оказалось всем нужным и очень полезным!? Жизнь это поправит
Есть 3 причины, по которым ФП никогда не станут очень популярны:
1. ФП, конечно же, огрызок логического программирования по принципу безопасности (точно также, например, и шаблоны являются огрызком логического программирования). Поэтому в академических кругах на ФП останавливаться особо нет смысла. На фига себя ограничивать? Задачу выделения бес побочного интерфейса (хотя бы и с целью дальнейшего распараллеливания) очевидно сможет решить и компьютер. Миллионы человек для реализации не потребуются.
2. Рыночная ниша всех имеющихся в них плюшек в основном занята (Лисп тоже занял всё, что смог). Питон эффективней и проще. Лямбды тоже реализованы в других языках (специально для маньяков).
3. ФП далеко до естественных языков. Дальше чем многим другим. Учить специфическим языкам программирования несколько миллиардов человек не рентабельно. Проще научить компьютер уже понимать человеческий (и завоевать этот мир). Что и случится еще до того как ФП наберет популярность. Тогда же и всем нам придет хана Аминь.
Благими намерениями устлана дорога на programmersforum.ru

Последний раз редактировалось MihalNik; 13.06.2013 в 09:54.
MihalNik вне форума Ответить с цитированием
Старый 13.06.2013, 13:30   #48
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,690
По умолчанию

Цитата:
Речь шла именно об языках программирования.
Так я и не про транзисторы пример привел, а про лямбда исчисление, которое можно рассматривать как язык программирования.
Цитата:
Не знаю, что этим называется, и соответственно читал ли это
Я примеры с вики взял. =)
Цитата:
еси хаскеловцы маги, почему у них нет своей магической операционки?
Есть )
Цитата:
Т.е. Вы гоните в императивный язык функциональщину. И, очевидно, некорректным способом. Принципиально-то можно применить любую парадигму в любом языке (другой вопрос - стоит ли это делать, когда проще взять готовый язык). Однако, пока Вы этого не можете - лучше сконцентрироваться на каком-то одном языке.
Можно, например так:
Код:
#include “prelude.h”

struct square : public CFunType<int, int> { 
   int operator( ) (int x) { return x * x; } 
};

square sqr1;
int result = sqr1(5);
Цитата:
Опять бред, нормальная контора не станет держать быдлокодера.
Вы меня не поняли, я оскорбил вполне приличных программистов на C++
Цитата:
Я буду руководствоваться тем, что мне скажет делать начальство. А оно поэзию и мистику не любит. И если оно сказало писать на с++, я буду материться и писать на с++. А не учить еще 3 года хаскел и переписывать половину имеющегося проекта под него. Надеюсь выбор - писать на с++ или сидеть дома без работы для Вас объективная причина?
Работа это уже совсем другой разговор. я на работе занимаюсь тем что всегда презирал - это web-программирование, но это мне не мешает быть лучшим сотрудником. Я пытаюсь с вами общаться как с человеком, который не только зарабатывает программированием, но и любит программировать и получает удовольствие, пусть не на работе, но дома(если такая возможность у вас есть). Иначе это пустой разговор.
Цитата:
1. ФП, конечно же, огрызок логического программирования по принципу безопасности (точно также, например, и шаблоны являются огрызком логического программирования). Поэтому в академических кругах на ФП останавливаться особо нет смысла. На фига себя ограничивать? Задачу выделения бес побочного интерфейса (хотя бы и с целью дальнейшего распараллеливания) очевидно сможет решить и компьютер. Миллионы человек для реализации не потребуются.
2. Рыночная ниша всех имеющихся в них плюшек в основном занята (Лисп тоже занял всё, что смог). Питон эффективней и проще. Лямбды тоже реализованы в других языках (специально для маньяков).
3. ФП далеко до естественных языков. Дальше чем многим другим. Учить специфическим языкам программирования несколько миллиардов человек не рентабельно. Проще научить компьютер уже понимать человеческий (и завоевать этот мир). Что и случится еще до того как ФП наберет популярность. Тогда же и всем нам придет хана Аминь.
Лично я, прежде чем критиковать фильм или сериал смотрю их полностью, даже если это УГ.

Цитата:
Или что создатели очередного языка являются идиотами, не изучающими данные дисицпилины?
Эти дисциплины появились гораздо позже появления первых языков программирования.
Цитата:
Чтобы показать, что наличие этих дисциплин по-прежнему не помогло создать языка программирования который устраивал бы всех?
Я уже ответил, что теории предостаточно и современные языки модифицируются уже не абы как а строго по теории.

Последний раз редактировалось Kostia; 13.06.2013 в 13:36.
Kostia вне форума Ответить с цитированием
Старый 13.06.2013, 16:22   #49
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Так я и не про транзисторы пример привел, а про лямбда исчисление, которое можно рассматривать как язык программирования.
Нет такого языка программирования. Есть именно исчисление. С большой натяжкой это можно назвать семейством языков, но никак не языком (одним, конкретным) программирования. Ваш пример неудачен - просто примите это как данность.
Цитата:
Есть )
Нету. Она была бы магической, если была бы у всех на устах - типа линукса или винды.
Цитата:
Вы меня не поняли, я оскорбил вполне приличных программистов на C++
Это Вы меня не поняли - повторюсь еще раз: нормальная контора не будет держать быдлокодера. И если в самом языке нет строго стандарта по оформлению кода и его стилистическому содержанию (включая приемы программирования), то внутри такой фирмы они просто обязаны существовать. И чем больше людей - тем более строже правила.
Цитата:
Работа это уже совсем другой разговор. я на работе занимаюсь тем что всегда презирал - это web-программирование, но это мне не мешает быть лучшим сотрудником. Я пытаюсь с вами общаться как с человеком, который не только зарабатывает программированием, но и любит программировать и получает удовольствие, пусть не на работе, но дома(если такая возможность у вас есть). Иначе это пустой разговор.
Это и есть пустой разговор, потому что рапространенность языка определяется личными пристрастиями далеко не в первую очередь. И поэтому тот же с++ или дельфи даст 100 очков вперед хаскелу. А не вовсе потому что эти языке объективно его круче. Еще раз напомню - у них разные ниши и потому они просто не могут быть сравнимы с хаскелом. Также как и нет смысла сравнивать руби (язык сверхвыского уровня) с тем же паскалем (язык высокого уровня). Ибо итак ясно ху из ху.
Цитата:
Эти дисциплины появились гораздо позже появления первых языков программирования.
Но не последних. Однако многие из них, например, ада - имеют косяки. Также как хаскел имеет косяк - высокий порог вхождения. Я уже про остальные вообще молчу.
Цитата:
Я уже ответил, что теории предостаточно и современные языки модифицируются уже не абы как а строго по теории.
Ну это конечно враки. Сишарп тому пример. Я уже молчу про язык фирмы 1С.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 13.06.2013, 16:45   #50
MihalNik
МегаМодератор
СуперМодератор
 
Регистрация: 27.11.2012
Сообщений: 5,669
По умолчанию

Цитата:
Лично я, прежде чем критиковать фильм или сериал смотрю их полностью, даже если это УГ.
Лично я давно предварительно проматываю все фильмы. Останавливаясь дольше 5 сек. максимум на 3-х эпизодах. И если ни один из них меня не заставит смотреть фильм полностью - это УГ 100%, которое сразу же удаляется и забывается. А комментировать смысла нет.

Цитата:
Я уже ответил, что теории предостаточно и современные языки модифицируются уже не абы как а строго по теории.
По теории следует обосновать, что ФП даст профит против императивного в ТРО на определенного рода НС. А не лить цитатами, ссылками воду из психологии по поводу закостенелости человеческих привычек.

Цитата:
Я уже молчу про язык фирмы 1С.
Это от того что матом ругаться не принято
Благими намерениями устлана дорога на programmersforum.ru

Последний раз редактировалось MihalNik; 13.06.2013 в 16:52.
MihalNik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вопросик самым опытным :-) Doholyan Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 25.08.2009 17:13
Проблема с синтаксисом? Geddar PHP 1 30.06.2008 16:44
Казус с синтаксисом???... Sota Общие вопросы C/C++ 6 17.07.2007 19:15