|
Not if you are coincidentally searching for something of the ones who pay most and stay in the first page
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
Rune is a Python-inspired efficient systems programming language designed to interact well with C and C++ libraries. Time to carve out yet another new programming language
|
|
|
|
|
I'm guess I'm just becoming old and jaded. These things are getting to the point where they don't even interest me until they run on a virtual machine in a Minecraft redstone computer. And I don't even play Minecraft.
|
|
|
|
|
I haven't seen a new language in many years. They are all the same, with just a few minor detail changes e.g. in the punctuation, layout rules or names of well known old concepts.
When did we see the last significant change to the Algol/Pascal/C class of languages? After the introduction of classes and OO, appearing several decades ago, there really hasn't been much to write home about; almost all is little more than syntactic sugar. A few things have come in the form of standard libraries, e.g. threading, but not as first class citizens the way it was in 1980 CHILL! (CHILL also had a far more elegant exception handling integrated into the basic language design, not as a syntactically messy add-on
When I learned new languages 30-40 years ago, it was not learning where to place braces, but all new concepts. Like lisp, with lists as The data structure. Like Snobol, with its pattern matching - regex in a readable format. Like APL and its workspace concept, and matrix processing. Like Simula, with full-blown OO concepts. Like Erlang and functional programming. Like Prolog and predicate logic. Like CHILL, with threads and exception handling cleanly integrated into the basic language design. Even Ada brought in a new concept: Process synchronization through rendezvous.
In some cases, a concept was introduced in a language preceding the one I learnt it from - that is not the point. The point is that each new language that we learned brough in significant new concept. It was really exciting! I haven't felt any excitement even comparable to that over any new language the last twenty years. Oh sure, it is nice to have multiple inheritance. Or automatic garbage collection. Or generics, to save typing. Or indentation rather than braces (for those who think that is a good thing ...). I am not against such improvements (except possibly indentation-for-braces), but they stir no excitement in me.
For excitement over languages, I'd much rather dig up my old Snobol book and try to implement the matching mechanism as a set of C# classes. It would be like assembly coding what Snobol does in a high-level language. Even though a C# clone would not have the same elegance, it would be fun to make that 200 line Snobol version of Eliza work as well as it did in 1976 when I obtained the source code. Just to demonstrate the power of pattern matching merged (/forced) into a traditional algorithmic language.
Today's new languages ain't.
|
|
|
|
|
Not to come off all fan-girly, but I really, really like a couple of features in C# and .NET:
1. Reflection: the ability for the code to 'know' things about itself. Iteration over enum values is a good example.
2. Lack of 'ceremony': The C# language design promotes the idea of keeping syntax minimal whenever possible. My favorite example are properties.
3. ToString() : I know you can implement this in other languages. It's just so incredibly useful having it "out of the box" when you need it.
The noteworthy idea here is that these elements make certain notions more convenient. I've been through enough 'new' languages at this point it's hard to imagine one that would impress me. Functional programming languages had potential for that, but the exaggerated claims and academic snobbery associated with them put me off. Improving convenience and therefore my productivity are Good Things.
Software Zen: delete this;
|
|
|
|
|
Sure! All those are 'nice to have'. I see neither properties nor ToString() as essential new concepts, though. They make programming easier/faster, and maybe even less error prone. But they don't make me think of programming differently, the way lisp or APL or Snobol does.
I'll agree that if you use reflection to its full extent, it might change you think differently of programming. I never took it even close to that (maybe because I've seen too many horrible examples of self-modifying code, and extreme use of reflection comes close to that!). I am old enough to remember peek() and poke() and the horrors it could cause.
But I will grant old peek/poke programmers the moral right to claim that reflection is a significant programming concept that allows you to do peek and poke in a "safe" and "readable" manner. Personally, I strongly disagree (when taken to extremes), but you may disagree with me if you feel like.
|
|
|
|
|
I was conflating the notions of new concepts with features and even syntactic sugar. Significant conceptual changes are few and far between. As I mentioned, functional programming is a 'recent' concept.trønderen wrote: if you use reflection to its full extent, it might change you think differently of programming The thing I like about reflection is you can use compiler 'knowledge' inherent in your source code. For example, I have an application that implements a plug-in approach to organizing functionality. The various plug-ins are identified at startup using reflection and the interfaces implemented by the classes in each assembly. A class can say its an IWidget by simply implementing that interface. The appeal is that the knowledge that the Im_A_Widget class is a widget is only specified simply and in a single place, within the class itself. You don't have to use extra functions to hook things together.
I understand that reflection can be used to generate/compile/execute code at runtime, but I've never encountered a good use case in my work for it. That strikes me as "self-modifying" code, a practice which I've almost always abhored.
Software Zen: delete this;
|
|
|
|
|
return Type unspecified ? don't supersize the macSecret ?
/ Check the MAC (message authentication code) for a message. A MAC is derived
// from a hash over the `macSecret` and message. It ensures the message has not
// been modified, and was sent by someone who knows `macSecret`.
func checkMac(macSecret: secret(string), message: string, mac: string) -> bool {
computedMac = computeMac(macSecret, message)
return mac == computedMac
}
«The mind is not a vessel to be filled but a fire to be kindled» Plutarch
|
|
|
|
|
Well, I see one fatal flaw already: Rune allows K&R braces, instead of Allman braces as God intended.
(gets popcorn out of the microwave, hard cider from the fridge, sits back to watch the bonfire)
Software Zen: delete this;
|
|
|
|
|
Gary Wheeler wrote: Allman braces as God intended And the congregation chants, "Amen!"
If you think 'goto' is evil, try writing an Assembly program without JMP.
|
|
|
|
|
I can testify as a former K&R user if needed... forgive me my people, for I have sinned!
Software Zen: delete this;
|
|
|
|
|
Since what we do as programmers is viewed as magic by the majority of the human race, Rune as a language name makes a strange sort of sense.
|
|
|
|
|
It is also a common boy's name in Norwegian. The name makes me think: Oh, the language of my nephew. (He is also a computer guy.)
(I was in touch with a language named 'Mary', after the chief designer's girlfriend. This was before 'Hello World!' had been invented, so one paper presenting this language showed as its very simplest program one that printed out 'Mary has been executed'.)
|
|
|
|
|
Reminds me of the old Honeywell mainframe crash dumps. The first four HEX characters on every dump were "DEAD"
|
|
|
|
|
So ... we are at "R" now ... Rust, Rune ... can't wait for more
|
|
|
|
|
peterkm wrote: So ... we are at "R" now ... Rust, Rune ... can't wait for more Redundent?
|
|
|
|
|
Quote: This is because we didn't just kill Abel, we destroyed Abel,
|
|
|
|
|
The new concept for faster travel to other solar systems would see humanity take flight to the stars similar to how birds soar on Earth. Nice hot cup of tea not required
|
|
|
|
|
While lambdas do not allow us to write anything we could not have written before their introduction, they greatly improve the ease with which we can write function objects and callbacks. In case you haven't moved on to Omicrons yet
|
|
|
|
|
Under the company's new invite-only Ad Verification program, Amazon is tracking what ads participants saw, where they saw them, and the time of day they were viewed. And they promise to not peek while you're entering passwords
|
|
|
|
|
I presume the princely sum on offer is the true market value of people's privacy.
</sarcasm>
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
I guess being in the top 10 of blocked trackers in MS-Edge isn't good enough for Amazon.
|
|
|
|
|
According to the company, Windows 10 and 11 customers might experience problems with apps that use ODBC connections (sqlsrv32.dll) to access databases. I guess ODBC is pretty new, so it's forgivable
It's probably older than many of the Windows developers.
|
|
|
|
|
According to a report on Tuesday, the company has considered building an app that combines shopping, messaging, web search, news, and other services. Maybe they could call it the MicroSoft Network?
|
|
|
|
|
Or an even killer version: the MicroSoft Bob Network!
|
|
|
|