Rust Blog Touts 'What We Achieved' in 2017 (rust-lang.org)
An anonymous reader quotes the official Rust blog:
Rust's development in 2017 fit into a single overarching theme: increasing productivity, especially for newcomers to Rust. From tooling to libraries to documentation to the core language, we wanted to make it easier to get things done with Rust. That desire led to a roadmap for the year, setting out 8 high-level objectives that would guide the work of the team. How'd we do? Really, really well.
Aaron Turon, part of the core developer team for Rust, wrote the blog post, and specifically touts this year's progress on lowering the learning curve with books and curriculum, as well as actual improvements in the language and a faster edit-compile-debug cycle. He also notes new support for Rust in IntelliJ and Atom (as well as preview versions for Visual Studio and Visual Studio Code) in 2017 -- and most importantly, mentoring. I'd like to specifically call out the leaders and mentors who have helped orchestrate our 2017 work. Leadership of this kind -- where you are working to enable others -- is hard work and not recognized enough. So let's hand it to these folks...! Technical leaders are an essential ingredient for our success, and I hope in 2018 we can continue to grow our leadership pool, and get even more done -- together.
Aaron Turon, part of the core developer team for Rust, wrote the blog post, and specifically touts this year's progress on lowering the learning curve with books and curriculum, as well as actual improvements in the language and a faster edit-compile-debug cycle. He also notes new support for Rust in IntelliJ and Atom (as well as preview versions for Visual Studio and Visual Studio Code) in 2017 -- and most importantly, mentoring. I'd like to specifically call out the leaders and mentors who have helped orchestrate our 2017 work. Leadership of this kind -- where you are working to enable others -- is hard work and not recognized enough. So let's hand it to these folks...! Technical leaders are an essential ingredient for our success, and I hope in 2018 we can continue to grow our leadership pool, and get even more done -- together.
"Rust's development in 2017 fit into a single overarching theme: increasing productivity,"
My 35 year old car is no newcomer to Rust, but it also overachieved lately.
Praise Jesus for the creation of Rust: the most important innovation in the history of computer science. Until Rust appeared, it was impossible to create secure programs, because the concept of pointer and type safety was entirely unknown to the world. The only way forward to a better world is rewriting all existing software in Rust.
In addition, the Rust community pioneered the idea of community behavioral standards, putting ethnic and sexual diversity in its proper place as the most important ingredient in programming language design. If Rust had existed in the 1950's, Alan Turing would still be alive today -- and he would be programming in Rust.
1. Get rid of the olds.
2. Get rid of the whites.
3. Get rid of the straights.
Keep the Rust community fabulous, baby.
It's better to burn out than fade away.
- J. Shore, N. Young, J. Rotten, M. Fowler
The serious point is that it would be nice to have a new language without all the SJW bullshit. You know, just like we did in the old days.
I looked into using Rust a little while ago. On the surface it sounded appealing. It sounded like it would give me a lot of what C++ offers, but without some of the headaches that C++ suffers from.
To keep a long story short, Rust, as a language, did not meet my expectations. The syntax is C-like, but it's also quirky in some ways. The performance was mediocre. The borrow-checking approach to memory management is a pain in the bottom in practice, even after you understand it and have worked with it. There was only one compiler implementation, and I found it to be buggy and slow, even compared to a slow C++ compiler like GCC. The standard library was pretty bad, and the string handling was atrocious. Third-party libraries often didn't compile, and many were woefully incomplete. It was a really bad experience.
But the worst part, in my opinion, was the Rust community. I've dealt with a lot of programming language communities over the decades, but Rust's was by far the worst I've ever experienced.
The whole Rust Code of Conduct thing is kind of weird. I mean, programming language communities got along just fine without codes of conduct for ages. At first I though it was just a symbolic thing, but I soon realized that the Rust Code of Conduct was much more than that. I'd classify it more as a religious text, or even a behavioral script. It was like the Rust community worshiped it. In my experience it turned what should have been friendly discussion among collaborating colleagues into a highly controlled, flow-chart-like, courtroom-like, overly-formal, totally-artificial, robotic-like ritual. You literally had to walk on eggshells the whole time, out of fear of accidentally violating the Rust Code of Conduct in some obscure and non-obvious way.
The Rust Code of Conduct itself is contradictory. For example, there's a paragraph that says, "we don’t tolerate behavior that excludes people", yet that same paragraph starts with, "We will exclude you from interaction if ...". They basically would be violating their own Rust Code of Conduct when they try to uphold it!
I later found out that they even have a Rust Moderation Team that goes around and enforces the Rust Code of Conduct! I can't think of any other programming language community that I've dealt with that has a formally organized hit squad whose sole purpose is to take out community members who are deemed to be "undesirable". It's absurd. It's really, really absurd.
Something else I found disturbing was the extreme leftism that permeated the community. Now I don't think that programming and politics really need to mix much. They're pretty separate, for the most part. But in my experience the Rust community was very heavily into promoting "diversity" and "tolerance" and all of those other left-wing buzzwords, even when they really had nothing to do with programming. It's like they're more focused on "social justice" than they are on creating a usable programming language.
Another thing that bothered me was the smugness I kept encountering from Rust's contributors and supporters. They kept portraying Rust as being this great savior, when in my opinion it's rather mediocre, and actually has some pretty serious flaws and problems. If you questioned these Rust supporters, they would basically belittle and insult you, assuming they didn't try to censor you through down-modding or banning, if the discussion venue supported such things. I found it strange how they often ridiculed C++, yet when it came to the same functionality or features Rust was often much worse than C++.
I've been programming for a long time, and I've used a lot of different programming languages, but my experience with Rust was perhaps the worst I've ever experienced. No programming language has left me more disappointed, and no programming language community has ever left me feeling more weirded out. In my o
Why do technology people and groups give foolish names like "Rust" to what they create?
"Lisp" is a speech impediment.
"Gimp" is a person who limps or is lame.
Why restrict technology names to only 1 alphabet? LaTeX uses Greek letters, also, and requires two paragraphs in the Wikipedia article to explain the name.
Or... Go with the flow? The next time you create open-source software, call it "Garbage"? Or "Feces"? Or maybe "Vomit"?
These people didn't do shit!
I'll just leave this here
All Mozilla's gimmicks to screw with development. Luckily there is three alternatives to Mozilla based products now, Waterfox, Pale Moon and now Basilisk, all supporting XUL which is superior to rust and which was lost in "Quantum".
It's like a mirror. If you go in being an ass, demonstrating an unwillingness to do anything but snark or bash or otherwise unproductively complain, then yes: you will be disappointed when the Rust community tells you to piss off, albeit in a slightly kinder manner.
I went in expecting a community of intolerant bigots after reading Slashdot's opinions, and found them to be a refreshing case of a community that's more interested in improving their product than it is in just fighting against the tides of trolldom. Some of their proponents have felt a little cultish at times, but that's par for the course for new languages in my experience, so I don't really understand why some people are upset about that.
Basically, whether or not the language is mediocre to you for some undefined reasons is kind of besides the point. It's what you can and want to do to make it better. They know there are problems, and they're working to address them. If you don't care to help, just snark (or go on an ill-informed rant) then you'll be rightly turned away.
It is sad to watch people waste their lives working on the wrong thing.. what 'til they run into reality.
worry what it should be called., what color it should be or how it scores in a focus group.
CHAIRMAN:
Yes, and, and, and the wheel. What about this wheel thingy? Sounds a terribly interesting project to me.
MARKETING GIRL:
Er, yeah, well weâ(TM)re having a little, er, difficulty hereâ¦
FORD:
Difficulty?! Itâ(TM)s the single simplest machine in the entire universe!
MARKETING GIRL:
Well alright mister wise guy, if youâ(TM)re so clever you tell us what colour it should be!
I dont care about community, I just want a language that is well documented and for which I can get help in stack overflow. C++ answers these requirements better than rust.
Avantgarde Hebrew science fiction
This^
That is why I'm not learning Rust until I absolutely have to. The only "Rust" I care about is this one. https://rust.facepunch.com
All it took for me to say no was the bizarre SJW + NewProgrammingLanguage BS. There's been a few articles where Rust contributors were "outed" for SJW violations OUTSIDE of any Rust development, contribution, or discussion environment. IIRC there was even a senior contributor or leader kicked out for it.
I don't need ketchup with my eggs.
So I hope very much so that the whole Rust cult'ish, new-wave, exclusionary, hyper-sensitive snowflake-riddled scene collapses and becomes a wikipedia footnote.
For me, as a C/C++ programmer, I'm going with Go https://golang.org for systems programming and WebAssembly for front-end, and putting any spare training time I have nowadays into learning that. I recommend any of you that care about freedom do the same. This SJW invasion needs to stay the fuck out of programming. I realize Google has their own aspect to it, but it's clear to me the Rust leadership feels SJW is the core of their development, however insane that is. "Now be a good compiler and be a leftist."
This sounds very little like Scientology. Soon they will devolve into Islamism... And one thing we should all remember, religion and computers don't mix. You don't give such powerful tools to raving lunatics.
This whole SJW problem is a viral attack by the right wing on the legitimate civil rights movements of the 50s and 60s, kinda like how Will Smith put that virus on the Martian ships, or when Picard sent that borg back to his cube with "new ideas". It effectively killed the movement, like what the "New" Black Panthers did to the original group. And like with Israel, you can't criticize them without being tagged as a bigot/racist/fascist/etc...
What I really don't get is why the Rust community, despite all of the focus it places on diversity and inclusion and tolerance and all of that, is mainly made up of white males in their 20s. There's nothing wrong with being white or being male or being in your 20s, of course. It's just odd to look through the list of contributors and see one profile picture after another showing a white male in his 20s.
I find it strange because all of the other programming language communities I've dealt with, especially ones that didn't put any focus at all on stuff like diversity/inclusion/tolerance, naturally had very diverse communities.
For example, for about the past 20 years I've worked primarily with Java, working with numerous large teams of other programmers. In these teams there were people with pretty much every skin color. There were men and women and people who today would be considered as having an "alternate" gender. There were people of many different religions. There were people of all ages, from college student interns up to well-aged graybeards who started their programming careers toggling switches. These teams exhibited real diversity.
Rust is one of the least-diverse and most-homogeneous programming language communities around. It's almost as if their intense focus on diversity/inclusion/tolerance has actually prevented the natural diversity that we've seen naturally develop in the Java, Python, C++ and C# communities, for example, where identity politics are ignored.
Mission accomplished.
As soon as "Code of Conduct" for a programming language mentions "sexual orientation" and "body size" you immediately know this will be toxic community, aka companies like Twitter. C or C++ for that matter never brought any political correctness crap in to the picture and doing just fine. Linus offends everyone and still people listen to him. Programming language should have nothing to do with political correctness.
Rust will die a slow death together with Mozilla. I am saying this as a firefox user, who would not want Mozilla to die. They just don't listen to their user and that is a sure recipe for obsolescence.
Rust: the scientology of programming?
Damn I thought that this was going to be about the game Rust and I would have a good laugh, I was so disappointed...
Its a sickness of mind that has afflicted some people.
An example: a while back there was a shop opening in part of London called"Best of British" that sold British tat that appealed to tourists mainly, nothing particularly extraordinary.,
It was in the news because some people were complaining that the place was racist. The interviewed shop-owner told that middle class white people would come into the shop and shout abuse at him. He also told that foreign people would come into the shop and tell him how happy they were that such a place existed (as I suppose they wanted to buy the kind of tourist tat he stocked).
So the people complaining about racism nowadays are not coloured/black/whatever they're called this week, but a certain type of "virtue-signalling" fools who have taken on this stuff as a battle to be fought on others behalf. I think its just that once they wage class war against the rich, found themselves to be the rich and so changed their focus to "rich racists" instead so they could continue to "fight the system" whilst pretending they weren't part of it. Its all a bit sad really.
I think you're giving the right wing too much credit. They'd never come up with anything quite so hypocritical, stupid and ultimately self-defeating as the SJWs.
I mean, we have gays and feminists defending extremist Islam, FFS.
I call Bullshit on all this. Get yourself a pseudonymous email and simply USE Rust.
Plus I can tell you the actual mastermind behind Rust is a guy the lefties would easily call Hitler.
Finally, there is also Swift with similar aims as Rust. A memory safe imperative, oo and multithreaded language.
^And there is the intolerance we're talking about. Nothing in our posts is extreme or outright insulting. Please self-report yourself to the Rust moderation team.
Despite your destructive ranting I will explain it to you:
1. There was a forerunner of Rust, which had most of the important features
2. Said forerunner had a compiler plus example/test code which realized a simple model of cars, motorcycles, buses and trucks.
3. The forerunner was developed in the same area where the motor car has been invented.
Now you might figure why the Mozilla guys called their derivative work "Rust".
Clearly Rust are trying to fix these problems, yet frankly it sounds more like you're just too used to the older C++ and its problems to want to care about any alternative that isn't basically C++. Which is fine, but it doesn't really speak ill of Rust or its community as much as it tells the story about how you're unwilling to learn a language that's outside your comfort zone.
And use Rust to write a White, Middle-Aged Male program. Use "he" as much as possible. Then open source it in order to stick it to these commies.
where's the tax break?
C++ can easily be used to write memory-safe code.
You can use RAII to manage memory, such as is done by the various smart pointer classes that are part of the C++ standard library.
You can also use the many STL data structures and algorithms that include bounds checking and other protections.
You can even use various libraries that implement various forms of automatic garbage collection, if you really want to.
Modern C++ compilers also include various static checking and protections that can be enabled easily.
Then there are tools like Valgrind you can use, too.
To use a door analogy, Rust gives you "safety" by entirely bricking up your entire door, making it unusable. C++, on the other hand, lets you choose the type of door(s) you want, the type of lock(s) you want, whether you want a guard to watch the door, or however else you may want to achieve the level of safety that you desire, while still remaining flexible and usable.
Rust's memory safety is just a small subset of what C++ offers.
I haven't looked into Rust or its community, but I do agree with parent that one of the best things about C++ is its community. They are very smart and dedicated but not arrogant or close-minded; and they are always willing to listen to new ideas or proposals.
Stroustrup almost seems more like a shepherd for the community than a (Hollywood style) director.
what's the White Power! #MAGA! programming language, then?
the neo-libertarian Unix ethos never stopped anyone from using it. If you let the GPL or Richard Stallman get in your way, well... your problem, your loss.
Using a programming language, OS, etc. does not mean you have to participate in its metaverse.
The language & tool chain either help you get work done, or they don't. What happens between your ears about it is your problem, not theirs.
That's just it, it's not self defeating at all. In fact, it has proven to be quite effective. The right wing is flourishing, this time without the economic depression like before, but simple hysteria over demographics. It's a perfectly understandable natural fear of losing dominance. The mob has spoken. Liberalism is dead. Gays and feminists, and blacks, are surprisingly (ok, maybe not surprisingly) conservative, illiberal. Old immigrants want to keep out new immigrants. They all only want equal or greater value for their dollar. Wealth is corrosive to everybody. Cynicism does reach around.
Then it's settled. We shall legalize gay money. I mean gay marriage!
I was slightly confused by the headline and thought /. was talking about the vidya game Rust...
^and there is the additional underlying theme of sanctioned age discrimination in the Rust community.
I have been programming for over 40 years and have programmed in many different languages and paradigms. I have been using rust for about 3 months now. I have found the support on rust forums to be relatively good.
But the power of rust is the language it self. The basic features I like are no garbage collection, generic types and speed. I am still learning the language, but I think it will be one of the languages of the future. I wish there is more machine learning support.
The real power is be the ability to compile rust into safe Web assembly. I the future I envision WASM mobile plugins to be used in both browser and IoT. This would allow IoT devices to be updated or re-purpose by using WASM agents written in rust..
^ This is the truth. Screw rust.
Wow you Rusties are smug as fuck.
"the language sucks guys, so let's flame people who point that out because we don't have the skills to make it better. " -- that's what you sound like.
I find it funny that the language with a code of conduct, consist of a bunch of snowflake children that can't behave themselves. It's like one big day care center circle jerk.
I've been programming in Rust full-time for nearly two years and disagree entirely with everything in this statement. In particular, I have never had to give any thought to the code of conduct. But maybe that's because I'm not a troll.
https://i.imgur.com/Uj02rTn.jpg
I agree that XUL is better than HTML, but Rust is a programming language not a visual interface like XUL is.
RUST - Ridiculously Unable Social Tribe?
RUST - Raunchily Unstable and Seriously Troubled?
I'm not saying anything negative about the language itself. I am seriously suggesting that they should change the name.
It amazes me the degree to which technically-capable people avoid teaching themselves social ability.
Lots of rhetoric about language issues but no specifics.
When all you have is a hammer, every problem starts to look like a thumb.
It's mind blowing how such a community can even exist and function, but yet it does. I better watch what I say, I might offend someone and the dogma police will come after me.
You're mistaking discrimination against people who think they know better (but don't), with discrimination against age. You can see the same thing in just about every programming community that that isn't mostly composed of people who think they know better (but don't).
It's because it's white males that perpetrate this diversity crap. Reality is, no one wants to be part of it, especially one of a different skin color due to fears that they would be called out as an idiot in a world that already places a lot of stigma and bigotry against such people and would justify the people calling them out that they were handed a silver platter.
I'll stick to Python. It equally hates everyone.
Uh huh. It's me who is smug, not the people claiming they know better because... they just do. Not the people who ignore all the constructive feedback that's been openly accepted by Rust and acted-upon, just their specific criticism which has conveniently been left undefined so that you can't even judge whether it's a voice of reason or just some troll trying to pull at our heartstrings. Suuure.
But maybe that's because I'm not a troll.
Please read your Rust Code of Conduct before implying that other people are trolls. You comment violates the following rules:
-Please be kind and courteous. There’s no need to be mean or rude.
-We will exclude you from interaction if you insult, demean or harass anyone.
We don't want Nazis like you in the Rust community. Please desist from using Rust immediately. That includes quitting your full time job.
The just and righteous Rust Code of Conduct can never be ignored! We will defeat all evil with are tolerance and diversity!
and for which I can get help in stack overflow.
Use a language with tail call optimization and you won't need to get help in stack overflow.
Ezekiel 23:20
Of course nothing you said was outright insulting. It never is to you, is it? You can call them whatever you want, and to hell with whether other people think. The worst kind of prejudice is always the kind against ME, not the kind I feel I'm not serving out.
Why do we compare Rust to C++? Shouldn't we compare it to Ada? I work on security in the auto industry. What is the point of Rust? I get how its better than C++ for security and safety, but how is it better than Ada? That's a far more fair comparison. Ada environments are more mature. The language has been used with great success in civilian avionics and DOD projects for decades. I've been trying to get people to think about Ada in automotive for years (and, with autonomous cars, there might be a very good justification finally for automotive software to be treated like civilian avionics software). No one in a mature industry like automotive is going to seriously consider Rust, but they might consider Ada. Why are we even talking about Rust? Is Ada not feminist enough!?...
These terms from your post are euphemisms for discussing "old people" in an oblique manner:
older
alternative
unwilling to learn
comfort zone
I don't want to go back and forth or get into insulting replies because I'm going to assume you're reasonable. Whether you realize it or not your OP is completely based on age discrimination.
The whole Rust Code of Conduct [rust-lang.org] thing is kind of weird. I mean, programming language communities got along just fine without codes of conduct for ages.
And then the Eternal September happened. Sorry man, you can't put that genie back in the bottle, you can only manage it. You seem super angry that they are trying to manage it. But the more online becomes like the real world, the more bad actors will show up and need managing.
I wonder what would happen if someone wrote an interactive website engine in Rust that was specifically targeted to support ISIS, Nazis, and the KKK?
Browsing at +1 - no ACs, I ignore their posts. So refreshing!
I read a lot of negative comments, about a leftist community, silly name, and Mozilla dying. Mainly subjective things. But there was little (no?) criticism based on of technical grounds.
So can we say, that Rust is technically solid? What are the major drawbacks of using it?
C or C++ is toxic to the computers it runs on. It is too easy to create buffer overflow exploits, trespass into other memory areas, and gobble up all the RAM on the system accidentally.
It's beautiful and it got stuff done, but It has to go away, because "things are different now".
CPUs are fast enough to do better checking by default as part of the language, not as some option you can enable or some optional pattern that isn't encouraged by the syntax of the language.
Mostly because once they got rid of jerks who do nothing but complain about "them nazi SJW types", they found they could focus on getting things done. For a language without the full backing of Google or Apple, and for all the hate it gets for not being a haven for opinions that aren't constructive, it's doing rather well.
butthurt much?
Too bad you posted AC.
Were you REALLY not disappointed in PHP? VB? Objective C? These are the ugliest languages I can think of...
Anyway if you are troll you are a very subtle one.
I doubt anyone will catch the pun/joke ;)
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
Ah, so what you're saying is that I triggered you when I called C++ an older language, and then you started reading everything I said as an age-discriminatory rant against OP. Makes sense.
But you're completely wrong. A person's age has nothing to do with whether they're stuck in a comfort zone, and that's the only real accusation I made (and OP themselves proved they were by saying "I don't care about communities" and then proceeding to talk about the communities they care about like Stack Overflow).
Whether you realize it or not, you're acting out much like one of those deluded SJWs I keep hearing about here. I find it rather humorous when people go on the warpath against others without realizing they're behaving exactly the same way.
Britain will soon become a jihadist state with all those sand n1ggers and superior jungle monkeys you've been importing. What are you going to do about that?
To keep a long story short,...
EPIC FAIL!
... Sort of like what you did?
You're a smug, condescending, asshole. It oozes out of the weeping logic holes riddled throughout your arrogant, self-congratulatory bullshit non-responses. Every statement is about you, how you feel, what you think, and how you are better than everyone else.
Seek help.
Lol you are a delicate little pussy, huh?
We all get it. We all know about functional programming. We all know that tail call optimization converts recursive function calls into into an iterative approach that avoids overflowing the stack. We all know that overflowing the stack was intentionally conflated with the Stack Overflow web site. We all, except for perhaps you and Kyosuke, know that it isn't creative or funny. We all, again with the exception of you two, think it's rather pathetic.
I think you're giving the right wing too much credit. They'd never come up with anything quite so hypocritical, stupid and ultimately self-defeating as the SJWs.
I mean, we have gays and feminists defending extremist Islam, FFS.
You mean like the religious right?
http://saveie6.com/
I find those on the GNU project far left yet no one will dare criticize them and have no problem using their products
http://saveie6.com/
Evil always turns on itself. Just wait and see.
Rust will implode under it's own virtue.
Yeah you need to be cool and hip with the kids today. Just look at the tragedy of Erlang!
http://saveie6.com/
You bet 1 bitcoin, not $10k.
Indeed. Notice how the comments attacking the Rust community are using the same wording that they object to. Calling the perfectly reasonable code of condust "toxic", for example. And naturally slashdot upvotes this kind of troll.
WRONG
The only thing preventing C from doing full tail call optimization is the "caller frees stack" instead of "callee frees stack" behavior. This, like buffer overflows, can be fixed by calling conventions.
Dual stack callee freeing calling convention for the win!
Avantgarde Hebrew science fiction
Have you noticed how when people say "seek help", what they really mean is "go to hell"?
Avantgarde Hebrew science fiction
thank god for golang!! This was funny though.
Tail call optimization refers to optimization of recursive functions.
The question if the caller or calee clears the stack has bottom line no influence.
For C it is required that the callee clears it because of variable argument lists.
On the other hand you could use the heap to transfer arguments, but that leaves the same fundamental problem.
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
Having tail call optimisation does not make you immune to stack overflow.
Otherwise they wouldn't need the Haskell tag.
All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
No it doesn't, it refers to the optimisation of tail calls. i.e. if the last thing a function does is call another function (or the same function again), it can replace the entire stack frame (except for the return address) with just the arguments for the new function and make a jump instead of a call. It doesn't have to be a recursive call at all.
That's not to say you can't implement tail call optimisation with C, you just have to be careful that the original caller's cleanup code will work for the arguments in the new stack frame.
All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
You're not comparing like with like.
The list of contributors you posted is the list off people who have contributed to Rust itself. The Java community you talked about is the community of people that use Java as a tool in their programming work. You need to either compare the people who use Rust to the people who use Java or the people who contribute to the Rust Language to the people who contribute to the JDK and associated development tools.
All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
In my hypothetical calling convention, you can have a hidden parameter that says what is the length of the variable argument list. Also, as jeremyp replied to you, tail call optimization is not just for a function that calls itself, it should handle any call, including all sorts of dual recursions.
Avantgarde Hebrew science fiction
It is only for recursion, does not matter if dual or single.
For other calls, there is nothing to optimize, they are basically 'automatically optimized'.
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
Oh man are you nitpicking.
Do you have a single real world example where you can 'tail cal optimize' a non recursive function call?
Hu? It would require that the target function takes the same arguments in the same order.
And then you would not call it 'tail call optimization' even if it is the same thing.
I never heard about a compiler trying to optimize a JSR away for a JMP if the call is not a recursive one.
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
Do you have a single real world example where you can 'tail cal optimize' a non recursive function call?
Finite state machines, for example. Or code in CPS form.
Hu? It would require that the target function takes the same arguments in the same order.
How did you arrive at that idea?
I never heard about a compiler trying to optimize a JSR away for a JMP if the call is not a recursive one.
Scheme implementations do this very regularly. In fact, the language spec requires that. Any implementation that doesn't do this is non-conforming.
Ezekiel 23:20
https://godbolt.org/g/bTeB37
Merry Christmas.