Так фишка как раз в том и состоит, что если мне язык надо вспоминать, то мне еще куча времени нужна, чтобы снова стать на нем действующим программером. Вот например знал я когда-то неплохо C++, и если бы все осталось, как было тогда, я бы действительно вспомнил бы за пару недель узкие места, восстановил бы навык - и в бой. Но с тех пор C++ даже у геймдевелоперов поменялся (GPU, SSEx и все такое, не говоря уже о приставках), а в остальных областях пользуются boost, template metaprogramming в моду вошел, библиотеки кроссплатформенные повсюду, а с этими областями я только слегка в теории знаком. А если я даже не писал на каком-то языке ничего in production, то я вообще не могу толком предсказать, как мое решение себя поведет в конкретных условиях - если о хаскеле говорить, то в реальной жизни такой поверхностный знаток, как я, обязательно пройдется по всем space leaks, которые только можно поймать в первом же серьезном проекте :).
Я, собственно, не о себе, а о том, что знание языка - это не только знание синтаксиса, семантики и инструментов, но и чувство того, как на этом языке пишут, чем пользуются и почему так и тем. А это требует актуальной вовлеченности в процесс, хоть немного :).
А если я буду резюме писать, я туда и ассемблер x86 включу, хоть со студенческих времен не писал ни одной команды, резюме - это отдельное искусство :).
Про space leaks - или таки да, применять там, где не важны, или уметь их видеть и бороться. Я-то не о принципиальных space leaks говорю, а именно о тех, влияния которых в масштабе упражнений просто не видно, но они есть, и на реальных объемах сыграют по полной программе. Причем их и починить-то может быть не особенно и сложно - строгости добавить, например. Но нужен знать, где такая штука может накрыть :).
Да, пожалуй :). Я, впрочем, говорю не о том, что разные задачи по-разному решаются, и можно где-то набить шишку, хотя по другим задачам ты привык это место влет проходить. Я о том, что гуляю я спокойно, а чуть надо поторопиться - падаю через каждые пять метров, то надо потренироваться ходить сначала, а потом уже бегать за автобусами :). Консервативная такая точка зрения.
> если о хаскеле говорить, то в реальной жизни такой поверхностный знаток, как я, обязательно пройдется по всем space leaks, которые только можно поймать в первом же серьезном проекте :).
Эх, если бы только в серьёзных... Я вот сделал простенькую утилитку, которая висит себе фоновым процессом, проверяет доступ к сетевой папке, и если есть доступ, то перекидывает туда-сюда файлы с сетевых папок в локальные или наоборот... Пока была простенькая программка (консольное без показывания консоли), всё было ок, как потребовали от меня добавить к ней иконку в трее, что бы она показывала, все ли впорядке с треем -- и начались проблемы с утечками памяти... Сейчас вроде бы эта проблема исчезла -- вот, сижу думаю --может это threaded-runtime у ghc 6.8.3 протекающий?..
Я, собственно, не о себе, а о том, что знание языка - это не только знание синтаксиса, семантики и инструментов, но и чувство того, как на этом языке пишут, чем пользуются и почему так и тем. А это требует актуальной вовлеченности в процесс, хоть немного :).
А если я буду резюме писать, я туда и ассемблер x86 включу, хоть со студенческих времен не писал ни одной команды, резюме - это отдельное искусство :).
Reply
Во-первых, они вполне особый народ, во-вторых, GPU, SSEx, не говоря уж о приставках, изучается за пару недель. ;)
Ну, за исключением приставок.
Я по своему опыту говорю.
Хаскель, значить, надо применять там, где его space leaks не важны. ;)
Reply
Про space leaks - или таки да, применять там, где не важны, или уметь их видеть и бороться. Я-то не о принципиальных space leaks говорю, а именно о тех, влияния которых в масштабе упражнений просто не видно, но они есть, и на реальных объемах сыграют по полной программе. Причем их и починить-то может быть не особенно и сложно - строгости добавить, например. Но нужен знать, где такая штука может накрыть :).
Reply
Я не вижу большого смысла в превентивной защите.
Гораздо интересней нападение - умение решать любые задачи хоть как-то, но быстро.
Грубо говоря, пока другие ваяют на чем-то настоящую программу, надо успеть сделать пару прототипов и выкинуть наименее ценный. ;)
И получить результат.
Reply
вот истина
Reply
Reply
Я, впрочем, говорю не о том, что разные задачи по-разному решаются, и можно где-то набить шишку, хотя по другим задачам ты привык это место влет проходить. Я о том, что гуляю я спокойно, а чуть надо поторопиться - падаю через каждые пять метров, то надо потренироваться ходить сначала, а потом уже бегать за автобусами :). Консервативная такая точка зрения.
Reply
Эх, если бы только в серьёзных...
Я вот сделал простенькую утилитку, которая висит себе фоновым процессом, проверяет доступ к сетевой папке, и если есть доступ, то перекидывает туда-сюда файлы с сетевых папок в локальные или наоборот...
Пока была простенькая программка (консольное без показывания консоли), всё было ок, как потребовали от меня добавить к ней иконку в трее, что бы она показывала, все ли впорядке с треем -- и начались проблемы с утечками памяти...
Сейчас вроде бы эта проблема исчезла -- вот, сижу думаю --может это threaded-runtime у ghc 6.8.3 протекающий?..
Reply
Рантайм у ghc сложный, ошибок достаточно много.
Reply
Leave a comment