Code Monkey home page Code Monkey logo

Comments (19)

Prince781 avatar Prince781 commented on May 26, 2024 4

Rather than an "About" page, perhaps we could have an "Overview" page or call it "Learn more."

We need to remember that because the home page is the first page that users see, it's a good idea to summarize as much as we reasonably can there. The idea should be to limit the amount of clicks a user has to make in order to understand what Vala is.

We can look at what Zig and Rust do, where they put all the relevant information on the home page. I presume this is to be as inviting to newcomers as possible.

Edit: I've changed the tone of this to avoid using unnecessarily adversarial language.

@nahuelwexd

from vala-www.

dar5hak avatar dar5hak commented on May 26, 2024 3

Here is a rough outline I am thinking about:

What kind of language is Vala?

  • High-level features + native performance = best of both worlds
    • maybe show a Venn diagram with high-level features on the left (lambdas, generics, assisted memory management)
    • and the supported architectures on the right (x86, amd64, arm and friends) indicating "native"
    • and the word "Vala" at the intersection of the two sets
  • Statically typed language (= type safety) with type inference (= concise code)
  • Object-oriented, and therefore familiar to anyone who has worked on another OO language
  • Compiles to C, and therefore compatible with numerous C libraries

Why was Vala created?

  • Born out of need for high-level yet fast GTK apps (I believe; to be verified)
  • But also totally possible to write CLI tools and web servers

Who uses Vala?

  • GNOME apps, elementary apps (both first and third party)
  • Showcase exemplary apps: Akira and Ensembles come to mind as pro-grade apps, but neither of them has seen a stable release yet. Then there is elementary Code, Ephemeral, Taxi, Sequeler, Snippet Pixie, etc.

Tooling and integration

  • VLS + plugins
  • Maybe just list down the editors supporting VLS with logos to trigger the reader's familiarity neurons
  • First-class support on Meson
  • vala-lint

Once we have a solid outline, we can start fleshing out these points into nicer sentences. So RFC: any other sections or subsections you think can be added? Removed? Moved to the homepage?

from vala-www.

nahuelwexd avatar nahuelwexd commented on May 26, 2024 3

Sorry for the delay in the response, IMO I agree on all points except for "Who uses Vala?", as I think that goes better on the home page as @dar5hak already said.

The idea I have is that the home page should be a little more "commercial" in the sense of trying to convince whoever sees it that Vala is the best language in the universe, while the about page can try to delve more into other details, but without falling too much into the technical aspects.

from vala-www.

Prince781 avatar Prince781 commented on May 26, 2024 2

@dar5hak maybe but we'd have to be careful not to put too much on the homepage.

Also, take a look at https://ziglang.org/ and https://www.rust-lang.org/ for some inspiration.

from vala-www.

dar5hak avatar dar5hak commented on May 26, 2024 2

Here’s a draft for the Tooling section. I couldn’t figure out how to list the six (and counting) code editors that VLS supports, but it would be visually better to show their icons somewhere instead of just names (with tooltips and alt text, of course).


Tooling

Code editor integration

With Vala Language Server, you get language intelligence in your favorite code editor without having to relearn shortcuts.

Linting

vala-lint helps you follow a standard code style, both on your development machine and on your CI server.

Build system

The fast and versatile Meson Build system has first-class support for Vala.

from vala-www.

NisooJadhav avatar NisooJadhav commented on May 26, 2024 2

you should also add a favicon on all the pages

from vala-www.

dar5hak avatar dar5hak commented on May 26, 2024 1

Here's a draft for the first section. The layout could be cards or columns or whatever makes sense.

I couldn't help making it sound marketing-y; let me know if something feels too cheesy.


What kind of language is Vala?

Productive

With Vala, you can get up and running quickly, thanks to convenient features like lambda expressions, exception handling, interfaces and generics.

Performant

High-level features don’t mean memory overhead. Vala compiles to C code, so you get raw native performance without having to allocate memory yourself.

Statically typed

Vala helps you write type-safe code without the verbosity, thanks to type inference.

Familiar

The syntax of Vala is inspired by object-oriented languages like C# and Java, so if you have seen either of those, Vala will feel right at home.

from vala-www.

nahuelwexd avatar nahuelwexd commented on May 26, 2024 1

@dar5hak I think we should go with American spellings, but the truth is that I'm completely neutral in that regard. I don't know if @Prince781 has any opinion on that

About the "Why was Vala created?" I'm going to see what I can get

from vala-www.

dar5hak avatar dar5hak commented on May 26, 2024 1

Went with American, just because adjacent projects like GTK, GNOME and elementary all use American English.

from vala-www.

Prince781 avatar Prince781 commented on May 26, 2024

I think it's also worth taking cues from https://www.rust-lang.org/

from vala-www.

nahuelwexd avatar nahuelwexd commented on May 26, 2024

I think it's also worth taking cues from https://www.rust-lang.org/

@Prince781 Sure, but I wanted to take inspiration from sites that have an "About" section.

In Rust they do not have that section, they directly dump everything on the main page

from vala-www.

dar5hak avatar dar5hak commented on May 26, 2024

I'm starting to think “Who uses Vala?” makes more sense on the homepage.

from vala-www.

dar5hak avatar dar5hak commented on May 26, 2024

Yeah. The “Build it in Rust” section seems particularly interesting. And learning resources would be a vital addition.

from vala-www.

dar5hak avatar dar5hak commented on May 26, 2024

Sounds good. I will flesh out the content one of these days and post it here.

from vala-www.

dar5hak avatar dar5hak commented on May 26, 2024
  • The “Who uses Vala?” section will move to home page as we discussed.
  • The “Why was Vala created?” section is something I don’t feel confident enough to write. I believe @nahuelwexd has a better grasp on its history.
  • I’m using British spellings here; do we want to go American?

from vala-www.

lw64 avatar lw64 commented on May 26, 2024

The About page should give a long explanation about what Vala is, what is its history, how it works, what are its features, what are its core libraries, etc.

I think

  1. Vala's history is not really so interesting and great to put it onto the website. I could imagine having it in a blog post maybe.
  2. how it works is something that belongs into the contribution guide, where the internals are explained. This is going to be here
  3. The features of Vala are listed and documented in the documentation as well. (Here) I think a short comprehension on the main page with a link would be enough. "Vala has lots of modern features..."
  4. The core libraries would be also both contribution guide and documentation.

from vala-www.

lw64 avatar lw64 commented on May 26, 2024

The thing is that the the historical marketing strategy was about not needing to write all the gobject boilerplate code anymore and about the compilation to C and the ABI. There were only C# and java bindings and no gobject-introspection yet. Today it all looks a bit different. There are lots of other high level bindings where you don't need to write boilerplate. Also it is not so likely that gnome developers that have already a bias towards vala will pick it up these days, but more newcomers looking for a language to write their first app in. They mostly don't know so much about the tech-stack and therefore all this talking about the internals is more or less useless.

About the tooling I think that having a language server, linter and build system is nothing special among popular programming languages and don't need to be mentioned. What I think is important though is to have tutorials about for example setting up a code completion in an IDE or how to setup a build system. But on the main page there should be only a link to them.

For the "statically typed" point I think this is too much detail. It is also not a good advertising feature, because it doesn't really matter how a language is designed. People will use it because of other interesting or modern features or just because of popularity. Typing is really the last priority.

About familiarity I think this has only created issues for Vala. Vala was too much designed after C# and Java and not for its underlying technology, GObject. Also it is creating wrong expectations about Vala being "just like C#". The "Vala for C#/Java developers" shows that I think. Instead Vala as an independent language should be described.

from vala-www.

nahuelwexd avatar nahuelwexd commented on May 26, 2024

@Prince781 My inspiration for the web was mainly taken from dart.dev, you can visit it to see why I thought it was a good idea.

The front page was going to try to promote the language to you based on its main points and who was using it, as well as positive feedback. Then the About page aimed to delve into the language, special data that may be relevant for those who want to know more about how everything is put together.

from vala-www.

colinkiama avatar colinkiama commented on May 26, 2024

you should also add a favicon on all the pages

Done :)

Next time, it would be great if you created a new issue since your feedback didn’t relate to this one.

Thanks for the suggestion though!

from vala-www.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.