trendy_terminal
programming-with-ada
Our great sponsors
trendy_terminal | programming-with-ada | |
---|---|---|
3 | 8 | |
4 | 18 | |
- | - | |
0.0 | 6.7 | |
about 2 years ago | over 1 year ago | |
Ada | Python | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
trendy_terminal
-
How to handle platform/feature-specific code?
The typical way that I've seen is to use the build system to change out body implementations for the platform being compiled. This is modeled after the traditional notion of treating translation units like "modules" in C and C++. When I wrote Trendy Terminal, that's the route that I took. This route avoids virtual function call (dynamic dispatch) overhead.
-
What Did You Work On in 2021?
I also did a few things: - Wrote an online e-book about Ada - Septum - context-based source code search for multi-million line codebases (I use this nearly every day at work. It's being submitted as my Ada crate of the year. - dir_iterators - library similar to the incredible walkdir. - project_indicators - library for spinners and progress bars. - trendy_terminal - library for cross-platform terminal setup, VT100 support, and GNU readline-like behavior. - trendy_test - library for simple unit testing, which runs tests in parallel. - Ada Ray Tracer - an Ada port of Ray Tracing in One Weekend. - dirs_to_graphviz - Make graphviz files from directory trees. - rst_tables - a tool to draw RST table outlines.
-
New Ada Folks (<2 years), what made you pick up (or leave) Ada?
It does, it's not enabled by default and you can check your code page with chcp. Trendy Terminal 0.0.1 handles this for you, I should be soon releasing a 0.0.2 version of Trendy Terminal which uses an RAII type to ensure this gets reset properly for you. I'd highly recommend using "Windows Terminal" over the plain Powershell or Command Prompt.
programming-with-ada
- yet another Ada web site?
-
Is it worth it to learn Ada in 2022? And how do I learn it?
I wrote up a bunch of stuff about it
-
May 2022 What Are You Working On?
I am writing an article for Programming with Ada showing how to send an IMCP using just the Ada standard library and writing your own bindings to C. This is a port of program I wrote in C++.
-
Request for comments: an idea for a central repository of knowledge and resources for Ada
I have one already for my own Ada notes, but it doesn't autogenerate. Sphinx allows arbitrarily complex tables, while also providing the ability to generate the documentation and keep it locally, which would be important for people on isolated/proprietary/military networks. It would be interesting to have a site generated by a crate in Alire, so you could download and run it locally as needed.
-
How to get into the Ada world
There's also: - http://learn.adacore.com - https://pyjarrett.github.io/programming-with-ada/ - https://en.wikibooks.org/wiki/Ada_Programming - The video's not available yet, but this might be useful: https://fosdem.org/2022/schedule/event/ada_outsiders_guide/
-
What Did You Work On in 2021?
I also did a few things: - Wrote an online e-book about Ada - Septum - context-based source code search for multi-million line codebases (I use this nearly every day at work. It's being submitted as my Ada crate of the year. - dir_iterators - library similar to the incredible walkdir. - project_indicators - library for spinners and progress bars. - trendy_terminal - library for cross-platform terminal setup, VT100 support, and GNU readline-like behavior. - trendy_test - library for simple unit testing, which runs tests in parallel. - Ada Ray Tracer - an Ada port of Ray Tracing in One Weekend. - dirs_to_graphviz - Make graphviz files from directory trees. - rst_tables - a tool to draw RST table outlines.
-
Why Is C Faster Than Java (2009)
> say, Ada programmers.
I stand summoned.
> Unfortunately, none of them ever seem to show up.
We do from time to time, but people assume our language is dead (it isn't). I learned it last year and I've been very impressed by how simple it is, given the speed you get with it.
It was a "big language" at the time, but now it's a language smaller than Rust or C++ which offers good performance with straightforward syntax.
Ada has inline assembly, easy usage of compiler intrinsics, dead-simple binding to C, built-in multi-tasking (which includes CPU pinning), a good standard library, RAII, and real honest-to-goodness built-in, not-null-terminated strings. It's a compiled language, so you get good speed in general, but the built-in concurrency really does help work which can be split up. Ada 202x is getting even finer grained parallelism (parallel for-loops) in the language itself to even further help this.
- https://learn.adacore.com/
- https://github.com/pyjarrett/programming-with-ada
- https://en.wikibooks.org/wiki/Ada_Programming
What are some alternatives?
King - An informal decsription of the King software-engineering language
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
dir_iterators - Iterator-based directory walks in Ada
python-cheatsheet - Comprehensive Python Cheatsheet
Ada_GUI - An Ada-oriented GUI
trendy_test - Ada Unit Testing Library
sdlada - Ada 2022 bindings to SDL 2 - Don't STAR this, this is my personal repo which I may delete over using the AGF one.
ada-ray-tracer
ada_language_server - Server implementing the Microsoft Language Protocol for Ada and SPARK
prometheus - Prometheus.io Haskell client.
Honki-Tonks-Zivilisationen - Der Code meines 4X-Rundenstrategiespiels. The Code of my 4X turn-based strategy game.