Swift Tops List of Most-Loved Languages and Tech 181
Nerval's Lobster writes Perhaps developers are increasingly overjoyed at the prospect of building iOS apps with a language other than Objective-C, which Apple has positioned Swift to replace; whatever the reason, Swift topped Stack Overflow's recent survey of the "Most Loved" languages and technologies (cited by 77.6 percent of the 26,086 respondents), followed by C++11 (75.6 percent), Rust (73.8 percent), Go (72.5 percent), and Clojure (71 percent). The "Most Dreaded" languages and technologies included Salesforce (73.2 percent), Visual Basic (72 percent), WordPress (68.2 percent), MATLAB (65.6 percent), and SharePoint (62.8 percent). Those results were mirrored somewhat in recent list from RedMonk, a tech-industry analyst firm, which ranked Swift 22nd in popularity among programming languages (based on data drawn from GitHub and Stack Overflow) but climbing noticeably quickly.
Matlab (Score:4, Interesting)
Matlab? Dreaded? Why?
I don't like it. But its good for its purpose, I find.
Re:Matlab (Score:5, Insightful)
Take a look at the demographics of the people that responded. Overwhelmingly male, average age is 29, half have been coding for less than 5 years, and almost half don't have at least a BS degree in CS.
Re: (Score:2)
Are you saying that if they were overwhelmingly female that they would appreciate MATLAB more? I don't see how that has anything to do with the other things, which merely point out how a bunch of hipsters who don't really understand computers would rather work with mostly easy languages to do "app" development than to work with anything in environments that indicate either some domain knowledge (MATLAB) or a "real job" (Salesforce, SharePoint).
Also, consider that it is Stack Overflow. It's mostly code-sni
Re: (Score:3)
Are you saying that if they were overwhelmingly female that they would appreciate MATLAB more?
Possibly, since women are much more likely to be math majors than comp sci majors and nearly anyone who studies math learns MATLAB.
Re: (Score:3)
Are you saying that if they were overwhelmingly female that they would appreciate MATLAB more?
Possibly, since women are much more likely to be math majors than comp sci majors and nearly anyone who studies math learns MATLAB.
The gender doesn't matter, it's the experience level. These guys are hipsters, and quite literally, the tool is older than they are. Further more, I'm sure they're a lot of people who combine their dislike for math with MATLAB itself...
Re: (Score:2)
Hence the dread! Back in '94 to '99 I've been sysadmin at the math department of my university. Already then all the students that were learning Matlab dreaded the subject. I was observing lesson after lesson, year after year, since they happened at the Comp. Lab. I was managing, always the same thing.
Re: (Score:2)
Are you saying that if they were overwhelmingly female that they would appreciate MATLAB more?
I don't know. In my only actual programming job in the early 90s I worked with some great MUMPS developers who happened to be female and they were at a far higher percentage of the developers I worked with than listed in the survey. I'm just pointing out that the demographics of the SO survey may not really represent what the programming community is, so what they say as what they like may not be reality.
Also, consider that it is Stack Overflow. It's mostly code-snipet "programmers" and people looking for help with homework.
That's true. It's been a real help in (re)learning Python.
Re: (Score:2)
So, your average software developer. Which explains a lot about why software quality sucks so much. (and then someone writes six code analysis tools and ten testing tools to at least catch the shit before it hits the fan).
Re: (Score:2)
Re: (Score:2)
I have no idea who "they" are. I am saying this about Swift. Incidentally, nobody halfway sane would say that C++ or Obj-C is for the incompetent in comparison to C. They are all three hard to master and C++ is a pretty bad design in addition. (Of course, C++, like the equally bad Java, was never intended to be a general-use language.)
Re:Matlab (Score:4, Insightful)
"They" are all of the programmers who have come before you. The computer engineers bemoaned COBOL because it let non engineers make programs to run on computers without knowing what was going on under the hood. Same with FORTRAN.
As languages have progressed, each generation provided more abstraction and let people get farther away from the hardware without having to understand what was going on at lower levels. And every time a language provided a new abstraction, the old guard pissed and moaned about how it was destroying programming by making it so the next generation wouldn't have to know all of the lower level details they knew. Object oriented languages were yet another in a long line of language advances that were decried by the previous generation who didn't want to learn the high level abstractions and were mad that the low level details they know well were no longer important. They claimed that the people who just wanted to program at a high level were "incompetent" and how it was leading to a "general cretinization of programming, and consequentially programmers."
Funny thing though. Most modern day programmers have no real clue what's really going on behind the scenes and they're pretty clueless about what happens once their source code goes through the compiler. And that's my definition of "incompetent". So when you say "Swift is for the incompetent", I say that incompetent people can write code in pretty much any language because I've seen them do it for decades over many generations of languages well before anyone knew what Object Orientation was.
Not only that, the old-timer "get off my lawn" types have been spouting the same nonsense since the 50's when it comes to newer technology. Sure, some languages are targeted at making tasks simple so they're easier for simpletons to use. And, of course, some languages are more poorly designed than others (*cough* *cough* C++ *cough* *cough*). And there are many languages that are more difficult to learn and master than others for no good reason. But people have been deriding next generation languages since the first generation. And that's why I laugh at your characterization of Swift.
Re: (Score:2)
Yes, nice (and I know all that), but how does that relate at all to my comment?
I have no problems with new tech (I am currently doing quite a bit of Python 3.x), but there has to be a good reason for it, and making it easier for bad programmers to produce more bad code is not a valid one.
Re:Matlab (Score:5, Insightful)
Well swift has a bucket load of nice clean language features for a compiled language.
That seems like a reason to me. Cleanliness.
Re: (Score:2)
Well swift has a bucket load of nice clean language features for a compiled language.
Can you name 3? (insert cricket chirps here)
Re: (Score:3)
Well swift has a bucket load of nice clean language features for a compiled language.
Can you name 3? (insert cricket chirps here)
Inferred types, for less typing and typos.
Tuples, very handy for lots of uses.
Simple iteration syntax.
None of these are new, but the ensemble is nice and clean in a compiled language. I like python for its simplicity and power, but it's generally interpreted. Swift is a but pythonic, but compiled.
Fluff (Score:2)
Those "clean" features have been in C# for years. Even java has now somehow the equivalent.
None of this gives Swift any kind of "cleanliness" edge. This is pure fluff, nothing else.
The reason for Swift is that Apple just doesn't want to compete head-to-head with the Android framework. There is simply no other reason.
Re: (Score:2)
Yes. But why the hell would I program for windows?
Languages come and go. Some are great. Some are not. So far swift is ok.
Re: (Score:2)
The reason for Swift is that Apple just doesn't want to compete head-to-head with the Android framework. There is simply no other reason.
Oh puh-lease. Do you even believe that?
Yeah, Java is the pride and joy of the Android Development community. Riiiiight.
HOW much bitching have I heard here on this site alone about Java? Hmmmm???
You're just Butthurt that Android doesn't have anything as clean and modern as Swift.
Re: (Score:2)
I haven't looked at Swift yet, but are the Swift features better than the C++ equivalents? "for (auto i: foo)" is about as simple as iteration syntax gets, tuples were added in the library, and C++11 introduced inferred types.
Re: (Score:2)
It certainly comes with fewer opportunities to shoot yourself in the foot in subtle ways than C++.
The Edsel had comfy seats, air conditioning, electric windows and a big engine, but that didn't make it a good car.
Re: (Score:2)
It's more (or less) than that though: it isn't ObjectiveC. Seriously if I had to program in ObjectiveC otherwise, I wouldn't just love Swift, I would worship it.
Re: (Score:2)
there has to be a good reason for it, and making it easier for bad programmers to produce more bad code is not a valid one.
If all you've got is bad programmers, and their bad code is nevertheless good enough to accomplish the tasks you need to get done, then a tool that allows bad programmers to produce more bad code may be just the thing you need. (of course some would argue that that niche is already filled by Java, but time will tell)
Re: (Score:2)
While at the first glance, you argument is compelling, that is not what is going to happen. There is a feedback-loop here: "Management" will hire even worse coders, as the language clearly does most of the work now. As a result, not readily obvious properties like security and reliability will get even more abysmally bad and code quality will drop through the floor.
On the plus side, we are missing a few really impressive IT catastrophes that cannot anymore be swept under the rug to drive home the point that
Re: (Score:2)
I have no idea who "they" are. I am saying this about Swift. Incidentally, nobody halfway sane would say that C++ or Obj-C is for the incompetent in comparison to C. They are all three hard to master and C++ is a pretty bad design in addition. (Of course, C++, like the equally bad Java, was never intended to be a general-use language.)
Yeah, but that never stopped Pascal!
Re: (Score:2)
Why do you think that would never happen in C? It looks like a lot of bad design went into that, and C++ is easier to do strings well in.
Re: (Score:2)
I'm not so sure, I was there at the start of C++ and a lot of programmers were very interested in trying it. One key feature of early C++ was that it was backwards compatible with C. Indeed it compiled into pure C which was then compiled into an executable.
Re: (Score:2)
Sure. A lot of the younger programmers (like myself at the time) were excited about it. But many of the old timers were very resistant to it. A lot of people complained that if it just compiled to C, why not just write it in C and save a step. And there was much bitching about how everything was so indirect and hard to figure out exactly what was going on. Of course, this was before there were good debuggers and direct compilers.
But it's like so many other things. Old folks get set in their ways. Y
Re: (Score:2)
C was so new anyway at the time, about ten years old, that the real old timers were probably bitching about wanting to use PL/1.
Re: (Score:2)
And there was much bitching about how everything was so indirect and hard to figure out exactly what was going on. Of course, this was before there were good debuggers and direct compilers.
I think the point was that one should know exactly what was going on before it was run, and being able to follow the low-level flow by looking at the source without "and then, magic occurs" moments.
Simula and Ada were arguably much better languages for understanding exactly what was going on, being as unforgiving as leather clad mistresses, but "C with classes" won out because it was so similar to C. C++ is great, but it does give the programmers enough rope to hang themselves with, while obscuring what's
Re: (Score:2)
Stroustrup made C with Classes as a version of C that had Simula classes. He liked Simula, but had to rewrite stuff into C for performance. I don't know Simula, so I can't comment on how transparent it was compared to C with Classes, but for Stroustrup it was a performance issue.
Re: (Score:2)
Indeed. Swift is for the incompetent. There is nothing wrong with Objective-C, you just have to understand what you are doing. This is just one more step on the way to general cretinization of programming, and consequentially programmers.
I also agree that there is nothing wrong with Obj-C; but OTOH, is there anything wrong with attempting to update and/or clarify syntax?
For example, I doubt you would find that many developers that would argue that C++ can be arcane, and most that have developed in both would say that Obj-C is much "cleaner" than C++ overall; so why can't Swift be seen as simply a further refinement on Obj-C, especially for less "ambitious" projects?
Bottom line, I don't think Swift is in danger of displacing Obj-C anytim
Re: (Score:2)
Matlab is the worst piece of shit I ever had the displeasure of working with. I only use this crap because the SDP interpreters I like (YALMIP and CVX) don't support anything else.
Once I had a bug in a code I had been writing for more than a month, and after lots of work I tracked it down to a vector declaration of the kind
v = [a, b +c];
You know what Matlab thought this meant?
v = [a, b, c];
Yep. It interpreted a whitespace between 'b' and '+' as creating a new vector element. And it's not even consistent, if
Fuck off Dice (Score:4, Insightful)
Fuck off Dice we don't care about your shitty fluff pieces passing as news! You will not get any ad dollars from me and I encourage everyone else not to click or respond to this garbage.
But... I love them! (Score:2)
Fuck off Dice we don't care about your shitty fluff pieces passing as news! You will not get any ad dollars from me and I encourage everyone else not to click or respond to this garbage.
Why are you so harsh with them? It's a great company that creates interesting, unbiased and entertaining content!
Oh wait, I thought you meant Vice, not Dice. Sorry about that.
Test of Time (Score:5, Insightful)
Re: (Score:3)
Re: (Score:3)
It will stick because it was purposefully designed and deployed for practical use among a very broad audience. Objective-C would likely still be a niche language were it not the native language for developing products on Apple platforms. This mass deployment for Apple devices essentially assures it's success - along with the fact that it looks like a pretty decent language on its own merits.
Re: (Score:2)
A very _wealthy_ "niche group" of developers, too.
C is "cross platform" the way that a tricycle is an all-terrain-vehicle: Easy to roll out the driveway, useless for anything ambitious. C++ is better but better alternatives are everywhere now. Javascript is half a solution at best: You need back-end support, and nodejs is just a less useful alternative to Python. Plus there are things you really just can't do in Javascript. Your examples of "cross-platform" all have serious flaws, which should not be
Re:Test of Time (Score:5, Informative)
This was my reaction to that comment, too. Swift is a strongly typed language, it just infers the type at compile time so the programmer doesn't have to manually enter it when declaring the variable. Considering it also differentiates between variables which can contain "nil" and ones that can't in its type system, I'd say it's one of the most strongly typed languages in common use, so I don't understand the statement.
The one platform thing is a bummer, but it's changing pretty fast right now so I don't blame Apple for not wanting to lock any decisions in with third parties yet. I hope they add it to their pile of open source projects before too long, though. Considering the reference implementation is LLVM-based, it shouldn't be hard for it to become very portable very fast.
(Besides, who doesn't like a language which has the entire unicode character set available for variable names, including the symbols? Can make for some colorful code.)
Re: (Score:2)
I don't think Swift is ready for prime time just yet.
Given that Swift doesn't really let out any of Apple's Magic, I think we might see a source release for Swift someday. It's not like opening CocoaTouch or CoreVideo or CoreStorage.
I just want a platform independent release so I can build web apps on it rather than Python or PHP. It works through libcgi so.
Re: (Score:2)
Besides, who doesn't like a language which has the entire unicode character set available for variable names, including the symbols? Can make for some colorful code.
Actually, you can create completely invisible variable names. Shame that superscript 2 and superscript 3 are not valid for custom operators.
Re:Test of Time (Score:4, Informative)
Yes, the GP post is confusing variable declaration and strong type safety. Experience has shown that we want both.
E.g. "variable x is a string", so if by accident the one time I used it, I happen to write "x=3" I want the compiler to complain and not silently infer the type "x is an integer".
Second, we want variable declarations so that if you accidentally write "usrename" instead of "username" the compiler complains.
Swift doesn't require you to give the type during declaration, which is a minor saving at a cost of many headaches. This is the wrong design decision, though I don't think is particularly critical.
Variables do need to be declared, which is a nice improvement over python and one of a few big things holding python back from total dominance (the others are white space, interpreted not compiled and somewhat weak pointer/data structure support).
Re: (Score:2)
Whilst I don't really know anything about Swift, what the GP describes makes it sound like the features he's describing are basically exact copies of the way C# does things.
If so, then what you describe isn't really correct. In recent versions of C# you can simply declare a variable with "var". The situation you describe where it determines something to be an integer when you wanted a string shouldn't be an issue because in C# what would happen is the initial assignment of an int would have the compiler tre
Re: (Score:2)
It's a feature that's been added in to try and woo sloppy developers, but frankly all it does is reduce the average level of code quality by allowing people to write such sloppy code in the first place.
Exactly. It is a false convenience.
Re: (Score:2)
I can certainly see the desire for things like "var", but I actually think it's something that could be better served by an IDE rather than the language itself. E.g. type "var i=3", IDE changes that to "int i=3". Many IDE's today do a good job of suggesting variables based on types of parameters, but so far I haven't noticed any a variable's type from a return type of a function.
Re: Test of Time (Score:2)
var is useful when used with factory functions. Makes changing the type returned by your factory function much easier if all the calls use "var x = MyFactory.GetConnection("foo");" Otherwise you may find yourself replacing 3000 SqlConnection declarations with DbConnection as we had to do.
Re: (Score:2)
In C++, you can write "auto x =", and if you initialize it with a string then it's a string variable. You can't use "auto" unless the compiler can deduce the type.
It's useful in several ways. It allows templates to be much more type-flexible. It makes loop syntax much cleaner. There are things in C++ where it's difficult or impossible to write the type (such as lambdas), and "auto" allows assignment in those cases.
Why the hate for VB (Score:5, Insightful)
Modern (.NET) VB is nearly C# with more english-like syntax. I don't understand all the hate for the language.
Gonna agree with SharePoint though. :)
Re:Why the hate for VB (Score:5, Insightful)
Sharepoint and Wordpress are languages?
Re:Why the hate for VB (Score:4, Interesting)
They said "languages or technologies" in the summary. Sharepoint, WordPress and SalesForce are platforms that apparently people who responded to the survey don't want to work with.
Re: (Score:2)
Re: (Score:2)
Same reason that fascism and communism are unlikely to win any elections anytime soon - the name has been tainted by a horrible first version, even if you came up with a perfect current version, nobody would believe it.
Re: (Score:2)
Why are variables declared with DIM in VB, or DIM ... AS.
You really think that is english?
Re: (Score:2)
Re: (Score:2)
I know what DIM means ;D
As many others here I started 30 years ago with Basic.
Hence I know it makes no sense and it is certainly no english to write in VB something like this:
DIM myObject AS SomeType
Because that object has no DIMension! Keywords like VAR or VAL or even DEF would have been more appropriated.
VB-Classic, VBA & VB-Script [Re:Why hate for V (Score:2)
The survey respondents may have meant VB-Classic, VBA, and/or VB-Script.
Incidentally, they are generally fine for smaller projects in my opinion. It's when you try to build something complex with them that you get into knots. Languages best for big projects are rarely best for small projects and vice verse. Use the right tool for the job.
Re: (Score:2)
Because VB brings us such fucking abominations as:
If myVar IsNot Nothing AndAlso myVar = "something" Then
' do something
End If
The problem with VB is in it's attempts to be English like it's just ended up requiring you to spout nonsense. No one says "Is not nothing", they say "Is something".
It's too verbose and ends up forcing you to write stuff that's inherently less readable than if it didn't try and fudge English into it's syntax.
Re: (Score:2)
The time was on this site where you would have been laughed off praising a Micro$oft proprietary language. How times have changed. Pathetic.
Maybe at some point somebody directed those folks to this [wikipedia.org].
Re: (Score:2)
...Almost always, a goto statement indicates sloppy design on the part of the coder. I think I have only come across one instance in my professional life where a goto was actually not a bad option (maybe even the best, or least worst option). And I've been coding for around 30 years now. Also, there is a reason why coders almost instantly fell in love with the object-oriented paradigm. Almost overnight, it cleaned up a lot of code. Granted, it is not a perfect paradigm, but it does seem to work well in a surprising number of cases. Just sayin'.
Structured programming constructs already did the heavy lifting on the Curse of the Go-To, a decade before OO languages became generally available.
But yes, with exceptions available (handling error breakouts in otherwise clean logic) the last reason to use a go to died.
Gotta love goto (Score:2)
There is a reason why people despise goto statements. May you never have to learn from personal experience what those reasons are.
I once had the "opportunity" to work with someone who was using goto to implement a fascinating code reuse strategy. Basically he was copy-pasting old code from previous projects and using goto to jump over lines of codes that were irrelevant in the new project. The best part was that he was *commenting out* old gotos, in case they could be repurposed.
That guy really loved goto, although he frequently complained about the fact that you can't pass variables to goto.
Re: (Score:2)
Wait, that's your argument? Fewer keystrokes?
How incredibly stupid.
Re: (Score:2)
All other things being equal, terseness is good in a programming language. Verbosity means things are harder to type, and display less actual code in a given screen area. I'm a very good typist, but I'd get frustrated at typing longer keywords unless there was an advantage.
Re: (Score:2)
The advantage is usually in readability. Programming languages are, for the most part, terse enough. Most could benefit from a little verbosity. Brevity is not always beneficial.
Java is interesting as it's not the syntax and keywords that lead to it's absurd verbosity. That's a function of the language itself and the JCL.
A the new and shiny (Score:2)
Yes, the new and shiny is most popular. How could that happen?
By the way, it might be interesting to see this "most loved" thing filtered for "full time employee" and "full time freelancer". I assume that then other languages might appear in the list on top. But anyway, the stack overflow statistics are interesting.
Most-loved or Most-infatuated? (Score:3)
.
At best, this is little more than puppy-love.
Re: (Score:2)
Re:Most-loved or Most-infatuated? (Score:5, Funny)
"There are only two kinds of languages: the ones people complain about and the ones nobody uses"
Re: (Score:2)
Swift loved 'cause ObjC (and frameworks) supported (Score:5, Informative)
I've been using Swift for production work since shortly after it was released (much of it on an internal enterprise application which is how we were able to start using it right away).
What makes Swift really nice to use in its own right is that it has a lot of useful language features (like closures, generics, tuples, etc) with a syntax that can be kind of boiled away to the degree that you choose, to keep code clear and understandable. I think the best way I could describe it, is that it's like a functional language buy is very practical and doesn't get preachy about it.
So already the language is very pleasant to use. The real benefit Swift enjoys that give it such a high rating though, is that it comes with very advanced tooling and a super-integrated mirror-counterpart language (Objective-C) right out of the box.
Think about it, how many new languages like Rust suffer because you have to build up syntax highlighting support in the editors you like, figure out a new build process tailored to that language, how to run the applications and so on. With Swift if you knew XCode you could easily just start writing Swift and all of the annoying overhead was gone. Even if you DIDN'T know XCode, at least it's a pretty advanced tool dedicated to helping produce running code in very short order (VERY short order with Playgrounds).
Then along with that, you have a new language which invariably has some missing features or capabilities, that make some particular thing you are trying to do hard in the new language. Well in those cases, Objective-C is very close at hand - you can mix code from both languages easily in the same class even. For example Swift itself is strongly typed and has very few reflection or dynamic method lookup features yet. Objective-C is kind of the opposite way, full of dynamism and runtime reflective use, so you can jump over to those abilities as needed.
I don't think people outside the iOS community realize just how fast everyone doing iOS development is switching to Swift. Swift (for me) has actually worked really well since day1, the tooling was rough for a while (with the syntax highlighter/code completion crapping out regularily on Swift code) but I THINK it may finally be OK.
It's definitely not a case of people hating Objective-C, because a lot of the people that like Swift also liked Objective-C. It's a case of having some good tools already, and being given another tool that seems to work really well for some tasks and thus appreciating having an expanded toolbox...
Re: (Score:2)
The title states languages and tech. This includes platforms, frameworks, libraries etc. And I do not see where the problem is with wordpress if it is used as a blog.
Re:So is it REALLY good? (Score:5, Informative)
Having used both Objective-C and C++, I can point out Objective-C as being a vast improvement over C without bringing the major drawbacks of C++. For one thing, Objective-C specifies symbol resolution against what is actually available, rather than what is theorized: in C++, if you recompile a library with a new class member--even a new private member--the data structure of the C++ class is now incorrect, and all applications using that library must be recompiled; in Objective-C, you can extend a new interface onto a class.
Largely, Objective-C is C with classes. Along with that, it's C, however you want to take that, with a better OOP implementation than C++. It's not Python or C#.
Re: (Score:2)
All depends what you mean by "better".
I primarily use C++ classes for encapsulation. I have a bit of inheritance, but often use it as an aggregation mechanism where you import the parent's functions (see e.g. curiously recurring template pattern). Compile time resolution is 100% necessary for high performance code, and thats largely what I write.
Also the C++ model allows classes to look very much like builtins, so the code uses the language syntax, so containers etc don't feel worse than arrays.
IOW it depe
Re: (Score:2)
Compile time resolution is 100% necessary for high performance code
When you first run a C++ program, it runs through a list of symbols, resolves them against library addresses, and puts their addresses into a procedural linkage table (PLT). Each time you CALL, you get an indirect jump to an address in the PLT. In lazy resolution, the PLT is populated with a resolver function address, which does the symbol look-up and populates the PLT.
When you run an Objective-C program, it does exactly the same thing; however, the PLT lookup is done through a function that provides sy
Re: (Score:2)
When you first run a C++ program, it runs through a list of symbols, resolves them against library addresses, and puts their addresses into a procedural linkage table (PLT). Each time you CALL, you get an indirect jump to an address in the PLT. In lazy resolution, the PLT is populated with a resolver function address, which does the symbol look-up and populates the PLT.
That only happens for some functions. Very many, almost certainly the vast majority in terms of numbers called get inlined out.
Also, the way
Re: (Score:2)
[c_jmoser@vmohssibg002 ~]$ ldd /bin/ls
linux-vdso.so.1 => (0x00007fff79487000) /lib64/librt.so.1 (0x00007fe67c310000) /lib64/libacl.so.1 (0x00007fe67c109000) /lib64/libselinux.so.1 (0x00007fe67bef1000) /lib64/libc.so.6 (0x00007fe67bb98000) /lib64/libpthread.so.0 (0x00007fe67b97b000)
/lib64/ld-linux-x86-64.so.2 (0x00007fe67c52a000) /lib64/libattr.so.1 (0x00007fe67b777000) /lib64/libdl.so.2 (0x00007fe67b573000) /lib64/libsepol.so.1 (0x00007fe67b32c000)
librt.so.1 =>
libacl.so.1 =>
libselinux.so.1 =>
libc.so.6 =>
libpthread.so.0 =>
libattr.so.1 =>
libdl.so.2 =>
libsepol.so.1 =>
Re: (Score:2)
I'm talking about things that are external, not inline. Do you know how many libraries Chrome, Firefox, LibreOffice, Gnome, or ls load?
Yes, but I was specifically referring to those inline. Compile time resolution happens a LOT in C++, and makes things go very fast. Combining that and stack allocation you get custom classes which look and feel like types built in to the language.
That only works with compile time resolution with classes.
You can (and one often does) use C++ classes for abstraction not traditi
Re: (Score:2)
Re: (Score:2)
That only happens on modules compiled into the same source file, not on anything external.
Not any more: GCC supports whole program optimization, as do other compilers. But regardless, C++ has a class encapulation system which allows early binding, which ObjectiveC does not, whereas ObjectiveC has a class system which allows very late binding in all classes. Anything related to a template class will have the methods defined in the translation unit, so those will be subject to optimization out. I don't think
Re: (Score:2)
So you're telling me gcc inlines functions from libqt when you compile a program against qt's headers?
But regardless, C++ has a class encapulation system which allows early binding, which ObjectiveC does not
Binding is still done at run-time, and is still a matter of setting a pointer somewhere. It's functionally similar to a page fault: if it happens and it's satisfied, the computer just calls as normal; if it happens and isn't satisfied, the computer does some work first. All you're changing is the point in time the work is done, not the number of times.
Re: (Score:2)
So you're telling me gcc inlines functions from libqt when you compile a program against qt's headers?
I believe anything linked in statically will do yes, if the archive contains object files with the correct metadata.
But anyway what's that got to do with it? C++s object model allows for this, where as ObjC explicitly doesn't.
Binding is still done at run-time, and is still a matter of setting a pointer somewhere.
For a lot of stuff no. Write some code with std::vector and compile with -O3. Then look for the
Re:What has Rust been used for? (Score:5, Interesting)
Rust is neither very good, nor finished. It promotes the myth that secure software is a question of the tool used. (It is not. It is 100% a question of coder, designer and architect skill and experience.) It just has a rabid follower community with little actual understanding of what they are cheering for and how it actually compares. That alone already makes it a problem, not a solution.
Re: (Score:2)
It promotes the myth that secure software is a question of the tool used. (It is not. It is 100% a question of coder, designer and architect skill and experience.)
That's complete and utter rubbish, and like the best persistent rubbish has a kernel of truth. Yes the programmer matters (duhhhhhhhhhhhhhh).
But the tool matters too. Certain tools eliminate entire classes of mistake. Any mistake a tool prevents is one that cannot be made, even the the programmer is ill, sleep deprived and hung over.
Quiting erro
Re: (Score:2)
But the tool matters too. Certain tools eliminate entire classes of mistake. Any mistake a tool prevents is one that cannot be made, even the the programmer is ill, sleep deprived and hung over.
You model is fundamentally flawed: Preventing certain classes of bugs does not make software more secure. That is a myth. People that do not have good skills will just make other mistakes instead, and, worse, a lot of "managers" will hire even worse coders if the language used is believed to be "more secure". That is why in actual reality production Java code does not have fewer vulnerabilities than production C code.
There is one area where language matters: If it is not well matched to the task, it drives
Re: (Score:2)
It is a rather strong hint that this Rust-hype is just hype. That said, Ruby is a pretty nice language, but in the hand of incompetents that does not mean anything. I does point to the actual problem though.
Re: (Score:2)
Rust hasn't even hit 1.0 yet.
Due to language changes many have chosen to wait until the 1.0 release. So no, it's not surprising not to see anything "of note."
Despite this they have a very active subreddit with many people coding things - especially now that they've hit beta and the language is fairly stable.
There have been a few notable interested parties (that I've seen), including indications [github.com] that Google is playing around with it and another large project investigating [safenetwork.io] core usage.
Have to wonder which will come first (Score:2)
Rust adoption seems to have been slow. Given that Swift took a lot of ideas from Rust, and is evolving more rapidly to completeness, I have to wonder if Swift will not take over positions Rust holds before Rust gains much of a foothold...
That's all predicated of course on Swift being released as open source, which will probably happen in a year or so.
Re: (Score:2)
So you are confirming that the hype is without any basis in reality. People are claiming it's a good language without actually having tried to use it to build anything substantial. That is not encouraging at all.
Software security people are saying it's a good language because it has features that very much matter to software security and there's nothing else out there that is even attempting to solve the same problems.
That's not something without basis in reality. It's hard learned experience creating requirements that rust is out to meet.
Re: (Score:2)
> there's nothing else out there that is even attempting to solve the same problems.
You mean move semantics? That would be the main innovation of Rust. C++ also has them now. Perhaps Rust has them better, but it would be inaccurate to say that no one is even attempting to solve these problems.
Re: (Score:2)
So I think that anyone who claims to like it is either:
A) One of its creators.
or
B) A hipster who is repeating hype.
It's called the Go syndrome.
Re: (Score:2)
but closed sores leave scars...
Re: (Score:2)
We're replacing systemd with systemVBd, it'll be vastly superior with its familiar basic syntax.
Re: (Score:2)
Our senior project/software engineering class/writing intensive capstone class... was a JOKE... the school formed a second section when they saw how many wanted into the class. The prof was paid 1/3rd of a normal class.. thought he was only getting a few students... and ended up with 25.
Anyway... the class turned "learn swift at the 101 level" for 2 months and work on a meaningless project you would never, ever show a prospective employer for the other 2 months.
I hate swift. It's like writing javascript with a keyboard made of razor blades. Nothing ever works. Nothing ever feels right.
I suspect you hate xcode. Swift is fine. xcode is a project obfuscation system.
Re:Don't see it (Score:5, Funny)
holy shit
a three-digiter
quick, where's my bug-net, before it flies away
Re: (Score:3, Funny)
Damn, a sub-700-er!
Re:Don't see it (Score:4, Funny)
n00b
Re:Don't see it (Score:4, Funny)
Damn, a sub-800-er!
Re: (Score:2)
Yeah. That's like this bleeding-edge feature now available in Oracle 12c: "multitenant architecture with pluggable databases".
Thanks to this fantastic innovation (which requires an additional license), it's now possible to have multiple databases hosted on the same Oracle instance! Crazy.
Of course this has been available (with no extra fee) for decades in SQL Server, MySql, Postgres and others.
Re: (Score:2)
Re: (Score:2)
I think I just came, pissed and shat myself at the same time.
I think a urologist may be of more use to you than slashdot at the present time.
Re: (Score:2)
C++ has got a fairly nasty learning curve if you want to do things right, but it's extremely powerful and extendable. The syntax is frequently ugly, but there's a lot you can do with it. Perhaps more importantly, there's a lot of really powerful stuff that takes one guru to write and is reasonably easy to use thereafter.