45

Vala を初めて使用するプログラマーとして、Vala を初めて使用する人への一番のアドバイスは何ですか?

4

9 に答える 9

37

それは、あなたがどのようなバックグラウンドから来ているかによって大きく異なります。あなたが C/C++/Java から来たのであれば、最善のアドバイスは関数型プログラミングを学ぶことです。Vala は真のクロージャーをサポートしているため、ラムダ式の使用方法を (深く) 学ぶ必要があります。これに最適なリソースは、Abelson と Sussman による Structure and Interpretation of Computer Programs です。MIT での 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# プログラミング スタイルをよく学ぼうとします。Vala に似ていますが、そのトピックに関する本はたくさんあります。

キャッチ:

  • Vala にはガベージ コレクションがないことに注意してください。参照カウントを行います。
  • Vala はまだ開発中であることに注意してください。これはかなり新しい言語であり、1.0 には達していません。あなたが今書いたコードは、将来壊れるかもしれません。
  • Vala を学ぶことを選択した場合、プログラミング言語の概念に関する限り、Vala は少し時代遅れであることに注意してください。マルチコア プログラミングに役立つことは何もしません。メモリ管理に役立つことは何もありません (コードのパフォーマンスは主にキャッシュの一貫性に基づいています。適切なガベージ コレクション言語は、メモリを再編成してここで役立ちます)。これは C のラッパーであり、C の制限の多くが付属しています (ただし、クロージャが追加されます)。

また、ポスターの 1 つが tinycc を推奨していました。これは開発には妥当な選択ですが、展開には gcc などの最適化されたコンパイラ (サポートされている場合は Intel のコンパイラ) を使用する必要があります。

于 2010-02-16T03:49:38.240 に答える
24

私の一番のアドバイスは、GObjects について学ぶことです。それらは Vala のパワーと柔軟性のバックボーンであり、さまざまなライブラリを GObject でラップする方法を学ぶことで、Vala プログラムは c がリンクできるすべてのものにアクセスできるようになります (これは非常に多くのことです!)。

興味のあるリンクをいくつか紹介します:
* 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

于 2010-02-14T06:22:09.883 に答える
15
  1. 複数のリソースの場合、これは少しの間一般的なリソースになります: Vala - GNOME Live! .
  2. GObject をより身近に感じるには: GObject リファレンス マニュアル.
  3. あなたがどのようなバックグラウンドを持っているかはわかりませんが、次の記事が役に立つでしょう: Vala Quick Intro for C# Programmers

いずれにせよ、C の知識は非常に役立ちます。私たちのチームは、実際に段階的な改良と Vala への移植を検討しています。私たちには C#/C++ の強いバックグラウンドを持つメンバーがおり、この方向性の変更 (時間の経過とともに) は、製品のパフォーマンスと柔軟性に有益です。

于 2010-02-15T05:28:17.950 に答える
9

ヒント: 開発に gcc の代わりに TinyCC を使用すると、ビルド時間を大幅に短縮できます。Vala はバックエンド コンパイラの選択に CC 環境変数を使用するため、"export CC=tcc" でうまくいきます。

于 2010-02-06T00:03:28.460 に答える
6

ヒントは次のとおりです。公式ドキュメントを読んでください。:)

于 2010-02-17T00:03:56.813 に答える
4

一般的に、Vala は優れていますが、私が見つけた 1 つの大きな落とし穴は、配列の処理が言語の他の部分と比較して非常に原始的であるか、そのドキュメントに非常に大きな穴があることです。

ドキュメンテーション、チュートリアル、および Google をじっくりと調べたにもかかわらず、次のように結論付けました。

于 2011-12-28T19:06:28.850 に答える
3

警告: 私は Vala に詳しくありませんが、私の答えが新しい言語の学習に当てはまることを願っています。彼らが助けになる場合に備えて、いくつかの考えを提供したいだけです...私は間違いなく私の答えの報奨金を受け取るべきではありません.

結論:それはあなたがそれを学んでいる理由によります...

クールな新しい言語であるため興味をそそられるが、実際にどのように使用するかわからない場合は、よく知っている言語を再作成/移植して、比較する方法を確認してください。

直面している特定の問題を解決すると信じて学習している場合は、先行投資する価値があることを確認してください。言語。

それ以外の場合は、どのように学習するかがすべてです。あなたは言語の内部を理解する必要がある人ですか、それとも単に物事をすばやく終わらせる必要がある人ですか? (または、私のように、中間のどこか?) 物事を成し遂げるアプローチについては、簡単なチュートリアルを探して、基本的なものを起動して実行して、それがどのように感じられるかを確認します。その言語を楽しんでいれば、その言語に関するより詳細な情報を読み始め、内部で何が起こっているのかを理解し始めます。

あなたのアプローチが何であれ、頑張ってください!

于 2010-02-16T23:39:36.307 に答える
2

私のアドバイスはドキュメントを読むことですが、vala コードの例を見て個人的に言語を学びました。

公式のvalaチュートリアル

いくつかのドキュメント

vala チュートリアルは私を大いに助け、ドキュメント ページには多くの有用な例が含まれていますが、最も役に立ったサイトは valadoc.org でした。

valadoc.org

valadoc は、さまざまなクラスや関数、および他のライブラリを使用するのに役立ちます。

vala は非常に c# に似ていますが、Java のようなインターフェースもよく見かけます。vala に関連するすべてのライブラリは C で記述されており、関数を呼び出すときは、表面のすぐ下にあるすべての C コードをほとんど見ることができるため、C の経験は良いことです。

vala は若すぎると言う人のために: vala は、誰かが非常に大きなドキュメントを作成するか、毎日何千人もの人々が質問する QT と同じくらい大きなプロジェクトを開始するまで、今と同じように若くあり続けるでしょう.

vala は、最初はドキュメンテーションが不十分なため、習得するのが少し難しいですが、あきらめないでください。基礎を学べば素晴らしい言語です。幸運を!悪い英語でごめんなさい:)

于 2013-10-15T11:40:31.063 に答える