Очень много трабл при работе с легаси кодом.
Очень много трабл при работе с легаси кодом.
>>This post is meant as constructive criticism.
I'm a Windows programmer who is used to GUIs and powerful IDEs which do almost anything you may desire from really advanced auto-completion to sophisticated refactoring. These IDEs understand your code!
This doesn't mean that I've never used simple editors. Indeed I started programming in Basic on a Commodore 64.
When I was 8 I had all the time in the world to experiment and a little trial and error was almost welcome. But now I can only try new things (like Haskell) in my spare time so any problem becomes a nuisance.
Another difference from when I was young is that now I know many programming languages so I try new things only when there are clear advantages in doing so.
Since I already know Scala, an expressive language with a powerful type system on a par with that of Haskell, curiosity is the only thing that motivates me to learn Haskell.
I graduated (in CS) magna cum laude so please don't assume this is just the whining of a mediocre coder or of a dumb person.
I really tried to set up a comfortable environment to work with Haskell, but I couldn't. I came across dozens of bugs. Since neither EclipseFP nor IntelliJ plugins worked, I even installed Ubuntu in a VM. I managed to get IntelliJ to work with Haskell, but I wasn't satisfied with it (too slow) so I tried EclipseFP but I couldn't install some external tools.
All the bugs I found are well-known but some workarounds need deep knowledge of how cabal and the Haskell ecosystem work.
If you really want to promote Haskell, you need to provide a complete installer/package with language + tools perfectly working! You can't ask a beginner (in Haskell) to spend hours on google trying to install the damn thing!
I think I'm going to give Haskell another chance in a year or so because functional programming and powerful type systems really fascinate me.
Интересует статистика, кажется хаскелисты появляются из сообществ, где люди привыкли страдать и поедать кактусы.
Т.е. питонисты\лисперы\рубисты не становятся хаскелистами, т.к. у них вроде все хорошо.
А вот если это плюсы, скалы, и прочее переусложненное говно, — то ребята уже покорили все вершины как не выстрелить себе в ногу, и ищут новые.
Т.е. пишу GXAF, жму <tab> и получаю
import org.springframework.context.support.GenericXmlApplicationContext;
вот такие дела.
Писать программы можно и пробиванием дырок гвоздиком на перфолентах. Но зачем-то человечество придумало различные механизмы в программировании. Например, я понимаю, зачем придуманы механизм переменных в императивных языках, или зачем придуман механизм агентов в языках функциональных, или зачем придуман механизм сообщений в Erlang. Я понимаю, чем они хороши для практики программирования. Но я за долгое время так и не смог понять, чем хороши монады. Я понимаю, зачем они нужны в чистом функциональном языке, но я не понимаю, почему это это всё полезно и удобно при условии существования кучи других языков программирования. Я не понимаю, в чём «изящество» и мощь этих механизмов.
И у меня есть стойкое ощущение, что единственное для чего они придуманы, это чтобы у адептов Haskell было постоянное развлечение в виде «напишу-ка я очередную статью о монадах, теперь с картинками!». Нет, ну реально. Ещё ни разу не видел статью о монадах вида «я придумал крутую монаду XYZ, теперь мой код стал понятнее на 50% и короче на 60». Зато, при этом есть куча статей с объяснениями того, что такое монада в Haskell. Разве это не является признаком того, что с практической точки зрения монада — это какой-то странноватый инструмент?
Затем же зачем нужны C, C++, Java, Python и остальные языки программирования.
Как бы… Эмс… То, что существует множество разных языков программирования не наталкивает вас на мысль, что эти языки нужны для решения различных задач? IMHO, тотально глупо считать, что Haskell, Python, Bash и C позволяют одинаково хорошо решать разные задачи.
Есть.
hackage.haskell.org/packages/archive/pkg-list.html
Большинство из этих пакетов — реализации примитивных структур данных, которые почему-то в других сообществах являются самоочевидными. Ну никто в мире Си не гордится тем, что реализовал набор queue-like data structures, даже студенты, которые хотят на халяву зачёт по курсовой получить.
Покажите мне реальные приложения. Я вот когда-то смотрел на darcs и frag, первый меня убил обилием кода на Си, второй ужасными конструкциями с несколькими видами стрелок, за каждой из которых стояла какая-то перестановочная семантика, отслеживание которой по коду в течении сотни строчек надолго привило мне стойкое неприятие Haskell. На Си у Кармака то же самое написано в 10 раз понятнее и лаконичнее. Так зачем тогда городить этот огород со стрелками? Не понятно.
foreign — в книге всего одна глава из 28, и это далеко не все примеры.
небезопасные массивы тоже есть, но в очень малом количестве случаев.
Да, но только это малое количество случаев действительно интересные для реальной жизни программы, вроде программы для распознавания штрих-кодов, не искусственные. Остальное там опять же борьба с ветряными мельницами, imho.
Любой оператор, любого языка программирования суть есть абстракция.
Неа. Если вы знаете Haskell, то должны знать, что такое абстракция. Операторы как раз абстракциями не являются. Потому что операторы — это применение абстракций. А абстракции применять абстракции без наличия интерпретатора не могут. Это ещё со времён дедушки Чёрча известно :) Тоже вначале почитайте книги, желательно, по теории языков программирования.
По возможности если можете — отпишитесь количество, вес и рост.
Я ни разу не могу, рост 180, вес 105кг.
С чего начать и как себя заставить не бросать?
Т.е. простые инсерты\селекты.
Заебался. Почему-то надо дохуя вручную менять в xml, и нету настроек с дефолтами. А без них нихуя не работает, все вылетает по ексепшну с настроеннами дефолтами. В том же нетбинсе — есть визард, который спрашивает что да как, но не до конца, т.е. xml файл сгенерировался (hibernate.cfg.xml), но некоторые обязательные опции — не прописались. И это говно все падает.
Опять же не очевидно почему файл настроек гибернейта ищется в classpath, какой текущий — опять же через жопу надо выворачиваться, писать код который выводит classpath; В общем все нетривиально, и не для людей.
Такая-же хуйня и со спрингом. Короче похоже джава создана для "мутантов", которым нужно "поебатся". Печально что сам ide никак ничего нормально мне не подсказывает. Все визарды сделаны наполовину. Все не по человечески и не интуитивно. Короч java-говно.
Может в идее это по круче сделано, но её не трогал.
По сравнению с другими ОРМ-ми (я крутил только джанговскую и вроде фласковскую) — небо и земля. Джава как всегда сосет с проглотом.
>Ситуация просто эпична)
Люди набросились в магазины и в панике, сами не понимая зачем и для чего, скупают технику.
В итоге магазины просто тупо меняют ценники прям на глазах у людей сейчас, и люди сметают с прилавках ноуты, которые вчера стояли за 25,000 за 50,000 руб.) Сейчас друг прислал фото из Мвидео, там в разделе техники не осталось ни одной цены менее 50,000 руб. Причем, половина из этого стоит максимум 30,000 руб.
Эти люди боятся, что поднимутся цены и сами же их поднимают своими покупками! Они сами же своими покупками обесценивают свои покупки! Это просто потрясающий способ спасти свои деньги))
<<
для потомков, если внезапно рубль еще упадет, и батон хлеба будет стоить 80к рублей.
rel="nofollow">habrahabr.ru3/ зочем? зочем открывать такую то годноту плебеям и серой массе?! Пусть лучше эта хаскельпараша будет только для своих. Зачем пропагандировать это говно? Переводчик стопудово с жуйка, поэтому шлю тебе лучи поносца.