Напишите тестовую программу (назовите ее, например, glibc-version.c
):
#include <stdio.h>
#include <stdlib.h>
#include <gnu/libc-version.h>
int main(int argc, char *argv[]) {
printf("GNU libc version: %s\n", gnu_get_libc_version());
exit(EXIT_SUCCESS);
}
и скомпилируйте ее с помощью компилятора gcc-4.4:
gcc-4.4 glibc-version.c -o glibc-version
Когда вы выполняете ./glibc-version
показана используемая версия glibc.
После 150-часового курса функционального программирования в университете мы сделали
Так что, просто основы, я бы сказал, примерно через месяц полный рабочий день. Четыре дня - это ничего ... Я думаю, вам просто нужно написать больше кода, чтобы привыкнуть к мышлению функционального программирования. Реализуя все снизу вверх, делая более сложные вещи по мере накопления опыта.
Я думаю, что кривая изучения Хаскелла очень странная. В начале вы почти ничего не понимаете - более странно, что в большинстве случаев, когда вы хотите применить свои императивные знания (буферизация и т. Д.), Вам говорят, что вы должны просто забыть что-нибудь об этом.
После этого этапа в вашей книге обычно появляется глава, где вас учат особым вкусам Хаскелла. По крайней мере, в этот момент ваш мозг должен взорваться, и почти все думают:
Как сумасшедший может развить что-то вроде монад ???
Но как вскоре, когда вы это поймете, ничто не помешает вам понять остальное, и вы скоро подумаете, насколько сложным и многословным было императивное программирование.
Кстати, мне потребовалось 2 месяца, чтобы понять основы, я начал в феврале 2010 года. Но мне потребовалось еще 4 месяца, чтобы понять некоторые более сложные мысли, такие как параметры функции и возникающие эффекты (особенно монада State
была чудом, пока Я нашел хорошее описание того, как IO
работает - точно так же;), но везде я вижу совершенно новое мышление.
Пройдет некоторое время, прежде чем Хаскелл начнет обретать смысл. У меня второй месяц обучения Хаскелу, и это моя вторая попытка за последние два года. На этот раз я начал с Маленького Схемера. Потом я посмотрел видео Гизеля. Чтение RWH в первый раз было катастрофой, но теперь это имеет смысл, так что, надеюсь, через 6 месяцев это станет яснее. Код, который я могу написать на Хаскеле, гораздо более лаконичен.
Подводя итоги, это займет время, но оно того стоит. Кстати, IRC #haskell - отличный ресурс, который поможет вам освоиться.
Мой совет, найдите небольшой программный проект и прогрызите его в Haskell. Не беспокойтесь о том, чтобы написать это способом Хаскели. Просто начни делать это на Хаскеле ..