dear Zig Forums, I have a feeling.. I feel bored by programming lately. I need to respark my zest. I want to feel the same excitement I used to feel when I made my computer actually do things I wanted to, like back in the 80s and 90s. You know that feeling I describe? That "it works!" feeling. Work lately was endlessly boring. The code bases bloated, the languages ugly, the codemonkeys smelly and indian. There is no joy in that. There's no point in such a life. I need to find something Zig Forums. I need to find an aesthetically pleasing programming language. It also has to be efficient, as it cannot be slow or difficult by the computer to process, as that by definition cannot be aesthetically pleasing.
I've spend a lot of time today to look at the top programming languages and those farther away from the top but to be honest, a lot of them are very similar. Scripting languages seem interesting. Lua has something elegant, but some of the syntax is bizarre. Luajit is very fast. Tcl seems nice, but it is slow. I don't think I can go back to Fortran, it's a dead language and to be frank seeing it for what it is in my current state... it might kill me. So tell me Zig Forums, what do you use and what do you program for fun with it? Why does it please you? Don't tell me to kill myself, because I just might.
I know that feel. But unfortunately nothing is going to bring back those early days of computing, because those days were the wild west of computing and everything felt new and different because it was new and different. A good example is gaming: if you compare the way games were written in the early 90s to the way they're written now, back then every game engine was unique, with an engine written in house, meaning that every game tended to have a different feel, even when they were games imitating other games. Nowadays ever game is 3D-rendered garbage that uses the same graphics rendering pipeline, and everything must conform to the "standard" way of doing things in order to get decent performance from the "standard" pipeline. Thus everything more or less looks and feels the same, with some variance. Do today's games look better? Absolutely. But the games themselves become less and less fun to play over time, because every iteration is little more than incrementally better graphics over the previous generation, and once you've been around for a while it all just feels the same. There's very little "new" about any of it. Another example is music, particularly metal. In the 80s and early 90s nobody really knew any best practices for recording metal, and there were as many ways to mix and record an album as there were bands to play them and producers to record them. The result was an enormous variance in sound between albums, even albums recorded by the same band. Today there are "standard" ways to produce a metal record, "standard" techniques for production, thus again, every record sounds more or less the same, with some variance. Do they sound "better"? Sure, in some ways (others definitely not - e.g. the loudness war). But just like in gaming, much of the fun and life and spark has been drained out of them, because so much of the focus today is on clinical precision and best practices instead of just creativity for creativity's sake. I don't really have a solution to the problem, because as far as I'm aware there isn't one. In order to solve the problem one would have to de-commercialize (un-jew) these industries so that they're no longer interested in producing bland cookie-cutter remakes that will sell the greatest number of copies. But a simultaneous change of mindset in consumers is required in order for that to be viable, which is never going to happen while they're being brainwashed to accept that shiner == better. Personally I'm in favor of burning the whole crooked thing down, gassing 6 gorillion jews, and starting again from scratch.
Just realized my rant has very little to do with your question. That's what I get for posting while drunk. Though the point still stands: everything now is over-commercialized crap.
I work at Bombardier. I use C almost exclusively. I love C. But, I wish I could use FreeBASIC.
FreeBASIC is faster than C (not by much), less verbose, more readable, has the best community of programmers, the community of programmers are straight, white males who lean conservative and who are older programmers, it’s sort of popular (it won’t die any time soon), it’s VERY similar to C.
Because of its similarity to C, if you know C you could learn it in 1 or 2 days or 2 weeks to perfect it. C libraries are compatible with FreeBASIC. It’s an object-oriented programming language. It is great at low level, and high level. I would not recommend doing HUGE projects becuase you have C++ for that but it is excellent. It is very easy.
lately, Mercury stuff for my work. Log analysis. some websites. mutating really gross configurations and then verifying that the mutations didn't break the configurations. some tools. More stuff that I want to do than have done atm. same shit I'd do in another language, but it's more enjoyable because it's Mercury. so do your own stuff, or work somewhere with a more pleasant environment. It's not enough to change your tools (although a more declarative language can at least prevent a lot of categories of bullshit, it doesn't mandate good design or lack of bloat). You aren't bored by acts. You are bored by goals. Placing sand on sand, smoothing sand, managing wetness and dryness of sand, this can be suicidally boring or you can be having fun showing your daughter how to make a sandcastle.
Well, C++ exists. It's got compile time turing completeness. You can do anything you need with it. I think the language question is pretty much solved already. Sure, it's got some historical baggage, but backwards compatibility is important. Ignoring compatibility is what got us into the mess we're in in the first place. Creating a totally new snowflake language and forcing people to learn it is an utter waste of time. What we need is people to actually improve the existing software into an usable state. Gnome is outright subversion of the Linux desktop. KDE is an honest effort but rough around the edges, buggy, slow and incomplete. The rest are too lacking in functionality. Windows is pozz. Mac is locked in garbage. What we need is something as lightweight as Windows XP (or faster) but with the functionality of Linux and Windows 10 combined, open source to check for CIA Nigger backdoors, with compatibility modules for backwards and forwards compatibility with everything as best as possible. True. The problem is scripting languages are either too high level (and thus unavoidably slow, efficiency requires team work with the machine), or too simple to be able to do everything you need at compile time. Just stick with C and C++.
I'd rather have early 2000s golden era games like Half Life, Deus Ex or GTA Vice City than 90s point and click games or whatever you're suggesting. And all of them used more or less the same pipeline (directx or opengl). The problem with modern games isn't that they use the same engine, the problem is that they became more mainstream and commercial and society became more PC. Games back then were cool because they were more realistic than ever. Sure, the plots might not have been, but the mechanics certainly were more realistic than the 2d crap we had before. Now you had to actually aim. You had to navigate locations. You had to listen to enemy noises. People lost limbs when they were harmed by explosions, etc. We had MS flight simulator, Falcon 4, Operation Flashpoint, etc. But then normalfags invaded the scene and the devs had to dumb things down for them. Now health regenerated by itself. You didn't have to navigate locations, just follow the main guy or the red line on the minimap. Levels completed themselves without you firing a single bullet or solving a single puzzle. Plots were dumbificated and niggerified to the tastes of the normalniggers who were the main audience now. If developers gave a shit, by now we could a GTA where you could have a conversation with every NPC, every building would have an explorable interior, cars would handle like Project Cars and you would have dozens of possible plot lines available. But no, we're stuck with worse gameplay and story than in 2004 more than 15 years later, except with better graphics capability (not sure if I'd say better graphics period, since the art direction was better back then IMO) and slightly better physics. Falcon 4, a game released in 1998, had a hugely more advanced campaign than anything that has come afterwards, save maybe for Dwarf Fortress.
Into the trash it goes. In any case, I don't think we need another snowflake language.
Those are still good games. They are what I would consider second generation 3D games, and there was still enough roughness and uniqueness to them to keep them interesting. But even by that stage the "best practices" phenomenon was beginning to take hold, companies were licensing engines developed by other companies, and the convergence to cookie-cutter sameness was well underway. Shortly after the 3rd generation came around (Quake III, etc.) I had lost interest in gaming completely.
C++'s compile time Turing completeness is an accident and a joke compared to languages specifically designed for that, like Common Lisp or hell, even D. You might want to try the former out, it's fun.
Fortunately most of the time you don't need the turing completeness, and just need to generate code with different permutations of some elements. The problem with lisp is that it doesn't map too well to the machine's architecture. Zero cost abstraction, they call it.
Well, that's part of my argument too. Reusing engines and games feeling kinda similar is not that big of a deal as long as they have good content, plus it helps with making mods.
You don't need to find me as I've already found you :)
Just get a Lisp machine :^) On a more serious note, you might want to try it out regardless, CL compilers are pretty good nowadays and some of the features (like conditions) are worth it. I used to be in a similar position like you.
Use D it's awesome, if I were you though I'd find another hobby tho
One of the reasons I got into wrenching. And despite the societal fascination with overclocked & walled garden dildos, there's still plenty og fun and interesting vehicles and parts for sale, you do need to do your own research though.
no worries, I'm the OP and I was kinda buzzed too. Guess two drunks found each other.
I do some drawing on the side. It's a relaxing hobby. I just want to enjoy computers again but I think that'll be hard while working in the industry. Thanks for all the advice in this thread. I'm too much of a brainlet for lisp though. Of course I'm familiar with C, but I wanna see something new. I'll check out D though, it looks interesing. I'll also check out FreeBASIC. I think I remember it when it still was just a qbasic interpreter and not what they made of it now. I like how you can do graphics without thinking about the backend. It also seems to be surprisingly fast.
I like how it's largely ignored by mainstream basically only because it has "BASIC" in it's name and that's not cool enough for the discerning hipster seeking for the fashionable language of the hour. You can do some very rapid development in FreeBASIC (because of the simple syntax) It integrates well with and bindings exist for many common libraries. It's also screaming fast and you can even inline ASM in very simple ways if you want and if that's your thing. A cool language.
Hasn't that been Python-occupied territory since a decade or two?
sir, you're drooling on your keyboard even more than these boomers and their shitty BASIC language
python is absolutely terrible for anything except very simple programs with bindings to C libraries because it's brutally slow. It's just so popular because you basically don't need to know how to do anything with the wealth of libraries out there and the syntax is very easy to pick up, even more so than any BASICs. (and it's not as disturbing if you never coded in any other language before) It's not a good language, it just has inertia on it's side now. It's also incredibly bloated. lua as a different interpreted language is much better and also much faster, especially luajit flies. If you have severe braindamage and actually like the python syntax and formatting, I guess you could use nim.
$ cat loop.basdim f as integerfor i as integer = 0 to 10000000 f = f + 1nextprint f$ time ./loop 10000000real 0m0,023suser 0m0,004ssys 0m0,022s$ cat loop.lualocal a = 0for i=1,10000000do a = a + 1endprint(a)$ time lua loop.lua10000000real 0m1,061suser 0m1,043ssys 0m0,020s$ time luajit loop.lua10000000real 0m0,086suser 0m0,069ssys 0m0,021s$ cat loop.pya = 0for i in range(0,10000000): a = a + 1print(a)$ time python loop.py10000000real 0m17,296suser 0m16,673ssys 0m0,535s$ lol
python 2.7.16 and python3 both take about 700ms (python3 is worse on speed, but it has 8.5 MB of peak RSS instead of python2's ridiculous 317.4 MB), so you're probably using a python old enough that range() returns a giant list. what pythonidiots had to know to do at that time was to use xrange instead.
well it also depends on the speed of the system, it's an old ARM
[x] doubt it won't depend on the speed of the system to the degree that this python code is this much slower than this Lua on the same system.
+1 for D language. It's basically created to filthfull what you ask. As a bonus the language itself is not baked by any big corporation.
I recommend start learning with exceptionally friendly introduction by Ali Cehreli: magnet:?xt=urn:btih:48917cedcc117248a96c1b49ad5691d40a365621&dn=Ali%20Cehreli%20-%20Programming%20in%20D%20-%202014.pdf&tr=http%3a%2f%2fbt2.t-ru.org%2fann%3fmagnet
well that's true I suppose. To be honest, I was a bit surprised myself. I know python is slow, but couldn't possible imagine it's that much slower. From all I read online, python should actually be somewhat faster than lua. It's python 3.6.5 on gentoo. I don't know enough about python to make any educated guesses, but I only set the system up the other day. I'm gonna investigate what's going on, maybe some misconfiguration. Thanks for the hint.
ok, tried it on several systems up to the fastest I have available right now. (ryzen 5 2600) python-2.7.15 with xrange is the fastest at about 700ms. lua is still significantly faster but the gap gets smaller and smaller the faster the system get. Interesting.
Why not try your hand at hardware design? It's quite exciting, since there's tons of material to learn. When you finally get something working on an FPGA it is a great feeling, especially as you progress to more and more complex designs.
Most of the time spent in that test is probably loading the big interpreter from disk and initializing it and compiling the bytecode for the program. If you have a faster drive or had a bigger ram which allows you to have the interpreter in ram already then you will see an increase in the speed of the test. The right way to run that test would be to measure the speed from inside the code itself, not from the time you launch the command. Python is not particularly designed to have routines be individually called often from shell. But yeah, it's still pretty slow compared to other languages.