Как программист, который плохо знаком с Vala, что Ваш совет номер один кому-то, кто плохо знаком с языком?
Это во многом зависит от вашего происхождения. Если вы пришли из C / C ++ / Java, лучший совет - изучить функциональное программирование. Vala поддерживает настоящие замыкания, поэтому вам следует (глубоко) научиться использовать лямбда-выражения. Лучший ресурс для этого - «Структура и интерпретация компьютерных программ» Абельсона и Сассмана. Это был вводный учебник по CS в Массачусетском технологическом институте на протяжении многих лет. Он доступен бесплатно в Интернете по адресу http://mitpress.mit.edu/sicp/full-text/book/book.html , но бумажная версия более удобочитаема. Видеолекции доступны по адресу http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/ . Наборы задач доступны бесплатно по адресу http://icampustutor.csail.mit.edu/6.001-public/ .
Помимо этого, я обычно просто старался хорошо изучить стиль программирования C #. Он похож на «Валу», но есть много книг по этой теме.
Уловки:
Кроме того, на одном из плакатов был рекомендован файл tinycc. Это разумный выбор для разработки, но для развертывания следует использовать оптимизированный компилятор, например gcc (или, если поддерживается, компилятор Intel).
Совет: вы можете значительно ускорить время сборки, используя TinyCC вместо gcc для разработки. Vala использует переменную CC env для выбора внутреннего компилятора, поэтому "export CC = tcc" подойдет.
В любом случае знание C будет очень полезным. Наша команда действительно рассматривает возможность постепенного обновления и переноса на Vala.У нас есть члены с большим опытом работы в C # / C ++, и это изменение направления (со временем) будет полезно для производительности и гибкости наших продуктов.
Мой совет №1 - изучить GObjects. Они являются основой мощи и гибкости Vala, а изучение того, как обернуть различные библиотеки в GObject, дает вашим программам Vala доступ ко всему, что может быть связано с ними (а это очень много!).
Вот несколько ссылок, которые могут быть интересны:
* http://library.gnome.org/devel/gobject/stable/
* http://fosswire.com/post/2009/7/gobject-vala/
* http://developer.gnome.org/doc/tutorials/#gobject
* http://en.wikipedia. org/wiki/GObject
Вот мой совет: прочтите официальную документацию. :)
Предостережение: я не знаком с Vala, но, надеюсь, мой ответ применим к изучению любого нового языка. Я просто хочу высказать несколько мыслей на случай, если они помогут ... Я определенно не должен получать награду за свой ответ.
Итог: это зависит от того, почему вы его изучаете ...
Если вы заинтригованы тем, что это отличный новый язык, но не уверены, как вы можете использовать его на практике, попробуйте воссоздать / перенести что-нибудь с которым вы хорошо знакомы, чтобы увидеть, как он сравнивается.
Если вы изучаете его, потому что считаете, что он решает конкретную проблему, с которой вы сталкиваетесь, убедитесь, что это стоит первоначальных вложений, поскольку изучение любого нового языка может занять невероятно много времени, и разумное решение может быть более знакомый язык.
В противном случае все зависит от того, как лучше всего учиться. Вы тот, кому нужно понимать язык изнутри или просто быстро выполнять работу? (Или, как и я, где-то посередине?) Что касается подхода к работе, я просто ищу простые учебные пособия и пытаюсь запустить что-то базовое, чтобы увидеть, как это чувствуется. Если мне нравится язык, я начну читать более подробную информацию о языке и понимать, что происходит под капотом.
Каким бы ни был ваш подход, удачи!