C Programming Language 'Has Completed a Comeback' (infoworld.com)
InfoWorld reports that "the once-declining C language" has "completed a comeback" -- citing its rise to second place in the Tiobe Index of language popularity, the biggest rise of any language in 2017. An anonymous reader quotes their report:
Although the language only grew 1.69 percentage points in its rating year over year in the January index, that was enough beat out runners-up Python (1.21 percent gain) and Erlang (0.98 percent gain). Just five months ago, C was at its lowest-ever rating, at 6.477 percent; this month, its rating is 11.07 percent, once again putting it in second place behind Java (14.215 percent) -- although Java dropped 3.05 percent compared to January 2017. C's revival is possibly being fueled by its popularity in manufacturing and industry, including the automotive market, Tiobe believes...
But promising languages such as Julia, Hack, Rust, and Kotlin were not able to reach the top 20 or even the top 30, Tiobe pointed out. "Becoming part of the top 10 or even the top 20 requires a large ecosystem of communities and evangelists including conferences," said Paul Jansen, Tiobe managing director and compiler of the index. "This is not something that can be developed in one year's time."
For 2017 Tiobe also reports that after Java and C, the most popular programming languages were C++, Python, C#, JavaScript, Visual Basic .Net, R, PHP, and Perl.
The rival Pypl Popularity of Programming Language index calculates that the most popular languages are Java, Python, PHP, JavaScript, C#, C++, C, R, Objective-C, and Swift.
But promising languages such as Julia, Hack, Rust, and Kotlin were not able to reach the top 20 or even the top 30, Tiobe pointed out. "Becoming part of the top 10 or even the top 20 requires a large ecosystem of communities and evangelists including conferences," said Paul Jansen, Tiobe managing director and compiler of the index. "This is not something that can be developed in one year's time."
For 2017 Tiobe also reports that after Java and C, the most popular programming languages were C++, Python, C#, JavaScript, Visual Basic .Net, R, PHP, and Perl.
The rival Pypl Popularity of Programming Language index calculates that the most popular languages are Java, Python, PHP, JavaScript, C#, C++, C, R, Objective-C, and Swift.
C never went anywhere. Its mindshare was just continually eclipsed by whatever bullshit venture-captial-seeking-paradigm-of-the-month was en vogue for that month.
What changed? Did someone let slip that bitcoin mining can be done in C faster than with remote calls to jquery?
Apostrophe plurals are for rubes.
Maybe they are trying to say it's more popular now? Either way I'm glad!
Whoever modded this up needs to have their mod privileges permanently revoked.
computers.
No bounds checking, no type checking. In 2018. Get serious.
My guess is C programs are the underlying reason for a good majority of ways of hacking into systems.
I mean a buffer exploit? Seriously? In 2018? Why in the hell would that be remotely acceptable?
Where are we going and why are we in a handbasket?
These aren't measures of how much languages are used, they're useless bullshit as asking which languages generate the most Twitter Tweets? Facebook posts? News articles?
Number of jobs held would be interesting.
So would number of unique jobs openings for each language.
With all the low cost ARM computers, perhap people appreciate the speed of C. Generally you get smaller faster programs. Or perhaps more people are working on the Linux kernel?
Bill O'Reilly once attempted Matlab after finishing C and *totally raged* on the professor.
The slotted screwdriver is making a comeback, according to a brand new survey of home improvement tools.
In Standard C, how do you find the least significant set bit of an integer type? Most CPUs these days support a clz instruction, but Standard C doesn't.
Any sufficiently unpopular but cohesive argument is indistinguishable from trolling.
These days, whatevers-of-the month barely last a week.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
No one is seriously going to try to use C for front end web development, just as no one is seriously going to try to use Javascript in an embedded microprocessor. So what this study is doing is just pointing out where the current jobs are.
Trying to compare languages, is like asking "which is better? a band saw or a screw driver?". They're entirely different. And anyone who doesn't understand that, simply doesn't have enough experience with other programming tools yet.
BAM!!
Programming practices. Yeah ok.
But people are people, programmers are programmers, and there are bell curves of skill, care and attention, schedule reasonableness under which programs are created.
So let's not assume every programmer writing a potentially security-relevant piece of code is a really good, well educated in best practices, really safe designer and coder with enough time for testing and iteration. Assuming that would be naive.
So why not protect against common errors using the programming language constraints and checks? Most of these protections can be done with very little cost, performance wise or in loss of program expressive power.
We can teach drivers not to start the car engine with the car in "drive" because they might run someone over, or we can just design the car not to start except in park.
Where are we going and why are we in a handbasket?
I consider this the transition to a more stable period. For some time it was unclear how functions would be split between programming languages. All kind of ideas were in the room, with interesting new contenders. Still the programming community decided that the areas covered by Java, Javascript, C, Python are well distributed in the way in which they are and that "good enough is still good".
C# (competitor to C++ and Java in my eyes) seems to be dying. Swift doenst take over from objective C as fast as that one is going down. So for low-level languages nothing else is left. OOP and Data Architectures are firmly in the hand of Java, which has a very small overlap and a very good synergy with C. Python coesists in other areas, and hurts neither of he two languages.
So in some sense: the war is over and java, (C+C++), python, Javascript have won for now.
Someone who thinks that C is the only performant programming language today?
Someone who's never heard of Go or rust, apparently.
Someone who thinks that more than, say, 10% of programs require "C-like" performance, with today's processors which are about 600,000 times faster than an Apple II, and thinks that both safety and maintenance cost are less important than having C-like performance on programs that don't need it.
Where are we going and why are we in a handbasket?
Just a headsup. You have a misconfigured browser that is leaking your ip address info.
> people are people
Maybe if you aimed higher than that, you would be a better C programmer.
Just saying.
After reading the ISO Standard C, I knew their weaknesses and i will try to invent my own programming language as if it was Pascal, Modula-2, Oberon, etc.
As if it is an exercise of building compilers or interpreters.
Go is less performant than java. Rust is on par with c++. They have nearly opposite design goals. Use go for server back end services, not kernels or drivers. The rest of your post is spot on. Citation is the benchmark game.
refactor the law, its bloated, confusing and unmaintainable.
Everything on planet freaking earth has firmware in it now and guess what compiler makes the smallest binaries that can talk to hardware?
Yes, that's right C.
Python can talk to C, but you aren't going to write firmware or low level interrupt handling code (like reading IR pulses) or monitoring an I2C bus.
Java is C's fat lazy son that lives in the basement and consumes all available resources can do things eventually, if you give him enough resources, time, and be able to tolerate the odor.
As long as computer architecture remains constant, C will be king. It's fast, small, and get's sh*t done now. Plus once you write it in C, you can call it from any other modern programming language like Python, Java, Objective-C, Swift, etc ...
I went to a graduation party of a graduating Aerospace engineer last weekend and his advice was learn C, learn simulation and solving software like Mathematica, learn how to work in teams, and be multidiscipline in career focus for great success. He graduated from Perdue.
The fact that it is searched-for a lot can just as easily indicate that the projects in other languages get completed quicker. That would make it a less useful (and **therefore** more used) language. The fact that more C gets used is about as telling as how many KLOCs of one language (vs another language) gets written. It just substitutes how much time is spent on one language over another for how KLOCs are written. Measuring output of work by the effort put in is always bad measure. It elevates effort over accomplishment.
Any guest worker system is indistinguishable from indentured servitude.
I'm not saying C did or did not come back, or did or did not go away. I am saying, you won't know from Tiobe, it way too random. They count language questions, not language usage, and don't make the slightest attempt to correct for predictable skew like selection bias due to who hangs out there as opposed to, say, stackoverflow.
My totally on reliable take on it? C dev population stays about the same: very few, very skilled, and very highly paid. Because of the latter, the number of C wannabes spikes from time to time, but don't worry, they will go away after they ask a few questions and still can't code.
When all you have is a hammer, every problem starts to look like a thumb.
Back to school.
When all you have is a hammer, every problem starts to look like a thumb.
So that's where all those C programmers who can avoid buffer overflows went, they ascended.
Shame we are stuck with the rest.
#include <stdio.h>
void main()
{
printf( "Infoworld p. lang poll is <em>FAKE NEWS!</em> C still rules!!!\n" );
}
You are right in general...but wrong here.
This report is not a beauty context or any other comparison of tools but rather statistics of web searches. As such it got reported and misinterpreted as "popularity" as if it was a preference.
4wdloop
Mod parent up - I posted so I can't use my points. This is correct.
Why guess when you can know? Measure!
C buffer overflow aren't really a problem for application programmers. The security issue comes from two distinct things:
1) Poor OS design and isolation of non "admin" processes
2) Lazy/underfunded IT that allow running apps as root.
If your app is messing with mine, the OS/IT level is the problem.
So when is Turbo Pascal coming back? ;-)
If you're going to try to market your SJW language to devs who are comfortable working with what's out there now, why in the world would you pick a name that reminds people of grief and decaying cars?
At least Rust never sleeps...
Or maybe it's a reflection that nearly every developer out there knows C to some degree and doesn't have to search for help as much?
Maybe it means there are more older C devs that are more likely to go to a book than Stack overflow?
Either way, it's a garbage metric designed to generate lazy clickbait articles, like this one.
I'm a good cook. I'm a fantastic eater. - Steven Brust
Mama said knock you out ;)
But people are people, programmers are programmers, and there are bell curves of skill, care and attention, schedule reasonableness under which programs are created.
So let's not assume every programmer writing a potentially security-relevant piece of code is a really good, well educated in best practices, really safe designer and coder with enough time for testing and iteration. Assuming that would be naive.
It would be naive to assume general purpose language selection makes a meaningful difference with regards to security outcomes.
It's up to the architect to manage risk by selecting appropriate tools and methodologies to best address specific problem domain. Placing programmers in an environment that ensures failure by giving them the wrong tool for the job before them or where they are required to always be extra careful in order to avert disaster is extremely counterproductive.
So why not protect against common errors using the programming language constraints and checks? Most of these protections can be done with very little cost, performance wise or in loss of program expressive power.
It is not clear to me specifically what you believe is not being done that can be.
Compile time checks, static analysis, profilers, fuzzers and runtime bounds check code inserted automatically by compilers by default are generally available to programmers at little to no cost. Quite a lot of the old standard C library has over the years been marked as hazardous to your health by modern compilers.
We can teach drivers not to start the car engine with the car in "drive" because they might run someone over, or we can just design the car not to start except in park.
Obvious solutions to obvious problems already exist. Yet it does not follow obvious problems necessarily have tractable solutions. For example designing a car incapable of ever running anyone over is reasonably beyond current technology even though instances of reasonable measures to mitigate the problem exist.
One thing that has always fascinated me over the years is the lack of sufficient advances in outcomes commensurate with development and selection of new languages. Most instances of productivity gains and capabilities can be traced back to hard won incremental development of complex domain specific systems and hardware improvements rather than advancement of underlying general purpose language.
The fact virtually all system programming is still some flavor of C in my view speaks for the difference between hype, wishful thinking and reality. We've had decades and so far very little of substance to show for it.
Decade ago when processors that could execute java byte code natively were taped out I actually believed this would change. I assumed we would all be running java everything by now and this is from someone who personally never cared for the language.
I seriously used C for web development (an old intranet system that was written when CGI was a new thing) It wasn't as hard as it may sound, nor did it take much more time to do than if I were to use a javascript framework of the week. it actually it took less effort than when having to deal with js / npm / webpack etc. These days I would use python on the back end if starting a new web project, with just enough front end scripting libs (jquery, bootstrap) to get on with the job, but I'd still prefer to code in C instead of the clusterfuck that is modern javascript
In C or Python, running an unsigned integer through (s & (s - 1)) ^ s will give you only the least significant 1 bit (1, 2, 4, 8, 16, 32, etc.). For 60 (0x3C), it gives 4; for 1280 (0x500), it gives 256 (0x100).
if your CPU uses clz to count trailing zeroes, you should report that as a bug.
Not necessarily. Use s = (s & (s - 1)) ^ s to clear all 1 bits other than the least significant, giving a "one-hot" integer. Then you can count leading zeroes and use that to infer trailing zeroes. It might look like the following (in a generic pseudo-assembly language):
Really you can accomplish everything in C, Java and BASH.
Build and deploy thousands of machines, and you don't have to throw 30 plus years of systems engineering under the bus because some idiot out of college wants to use python.
Got Geometrodynamics? Awe, too hard to figure out? Too bad.
Can we kill off Java yet?
And Rust?
Please.
Funny, thatâ(TM)s *exactly* what the GoAhead web server does â" front end is in C and server-side JavaScript!
(GoAhead is one of the most popular embedded web servers, and is in EVERYTHING)
Maybe we just need better automated testing?
C is easy if you don't try to do anything clever. Let the compiler be clever.
But often there is no testing at all. Maybe in the future everything you compile gets fuzzed.
There is absolutely no reason at all to think it is better to package this into the language, when it can be placed anywhere in the build process.
Decaying cars are good for the environment that's why! As long as they are not decaying electric cars butthese cannot be decaying by construction.
Seriously, even another unsafe language like Lua is making more headway into systems programming and embedding than all this Rust .
.
I can undo a lot of fasteners with a portable band saw, but I can't do all that much cutting with the screwdriver. The former is more fun anyhow.
In most C projects 80% of the code is for testing.
No idea in what world you live.
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
My C career was relatively short.
Programming around 1986/1987 on Apple 2's in Aztec C (which was K&R C, with manuals only in english and I was not that good in english at that time, considering that the vocabulary was centered around computer terms, which we never had in school).
Took me nearly 2 month, probably longer, to realize that the C compiler does no real type checking at all and just compiled down what ever bollocks I had written. (It did not even have "prototypes", you annotated the types after the closing ")" of the function arguments and before the opening '{' of the function body, I have no idea (don't remember) if that was completely ignored or partly taken as a hint)
Then again I started to study CS in 1987 and got immediately a job at the university as half Unix Admin and half C programmer. I basically only wrote one majour C program at that time. A GUI in SUN's OpenView for a Prolog program.
Luckily that was a more advanced but still not ANSI C compiler (the sun compiler obviously, took still 4 or 5 years until most of the institutes switched to GNU C/C++).
Anyway, in school I learned Pascal, at the university I convinced my Tutor that I already can Pascal and that I want to do my assignments in Modula 2 (on Macs).
In private I switched immediately to C++ around 1989, realizing that C always only would be a "portable assembler" I avoided it where ever I could. Unfortunately again (besides Apple's C++ under MPW, the unix shell on Mac OS) I had to used a crippled version of C++ (no MI e.g.) called Think C, later bought by Symantec. Job wise I had shifted from "C programer" to unix admin, meanwhile.
Funnily I rarely ever met a C programmer that was significantly better in C than I was (I am) with my mediocre experience.
If we only had a C++ compiler compiling to the JVM, I probably would still only use C++. So I'm now stuck in the Java/Scala/Groovy corner :D ... but I miss true MI and true templates and true operator overloading.
However the "programming model" in terms of H and Cpp files and linking etc. is quite archaic, and I prefer the concepts of Java, aka everything is a DLL, classpath, class loader real reflection over RTT
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
This reminds me of a joke I heard once about a proctologist who had painted a room through the keyhole.
Many things are possible, but most of them are not practical and frankly shouldn't be done.
"It's such a fine line between stupid and clever" -- David St. Hubbins, Spinal Tap
There are C macros and your can write all you want with them; OOP for example, can be emulated with just structs and pointers.
Except for destructors, which is necessary for RAII, provides a lot of the safety OOP in C++ provides.
Type safety is more or less a fallacy.
Type safety allows your compiler to perform a bunch of error-checking that dynamic types have to catch at runtime. I'm not saying one or the other is better in general, but for mission critical code, I know which one I'd rather have.
Irony: Agile development has too much intertia to be abandoned now.
just as no one is seriously going to try to use Javascript in an embedded microprocessor
I draw your attention to JerryScript, developed by Samsung as a lightweight JavaScript interpreter specifically designed for running in embedded microprocessors.
I am TheRaven on Soylent News
C will always do the dirty work (like assembly).
It's not easy or human language oriented. Often you must pick, choose and cobble together even the IDE.
It never died. Never came back. It is what it is. Meanwhile my generation got used to RAD tools and visual IDEs. Complete programming solutions with a syntax that works for you - not the other way around.
No one is seriously going to try to use C for front end web development.
Maybe not C, but how about C++?
C++ does everything C does and has a better compiler. Why embedded devs still go with c is beyond me. I've been working on embedded systems for 20 years and left C in the dust long ago. C is more popular only because of ignorance and myth.
Except for destructors, which is necessary for RAII, provides a lot of the safety OOP in C++
Exactly, the only two features I miss when working in C are destructors being called when a local variable leaves scope and method overloading. I could live without method overloading if there was some way to be strict about data conversions between primitive types (i.e. don't let a method expecting a float take an int) but I do miss the destructors.
That's why I end up using a C++ compiler as a "C with classes" environment.
Been using C for over 30 years, I program in just about every language that is useful and I find myself using C more so than any other to this very day!
See subject & https://www.tiobe.com/tiobe-index/delphi-object-pascal/ & does all majors https://www.embarcadero.com/products/delphi/
Used for APK Hosts File Engine 10++ SR-1 32/64-bit https://www.google.com/search?hl=en&source=hp&biw=&bih=&q=%22APK+Hosts+File+Engine%22+and+%22start64%22&btnG=Google+Search&gbv=1/ - why?
Deals in strings & made sense for performance advantage (Object Pascal's string function library = excellent).
* Delphi SMOKED MSVC++ (former personal fav by DOUBLE++ in math & strings which every program does) in 4/6 tests @ a competing trade journal (VB Programmer's Journal) in 1997 Sept/Oct issue "Inside the VB5 Compiler"
BASIC = 1st language in 82, COBOL 85, & C in 92 (buffer overflows in null-term'ed strings) so I did Delphi (stringlength = 'built-in').
APK
P.S.=> "Old classics" NEVER die - C gains now due to industrial automation & automotive work imo
Story about new results elsewhere on the Web. Link? Heeeck no! Sheesh... Absolutely nothing has changed in twenty years. (For an example, google "Sandy Reed OS/2")
Christian R. Conrad
mail me at iki.fi ; same user ID as here
Oh god, it in the list of the most popular languages, you have two professional ones, C and C++. All the rest are toys popularized by sub-par, wannabee programmers.
We see a lot of dynamic languages like Python or Lua and they are ok.
If time-to-market is your most important concern, then dynamic languages seem to do the job. My observation is that one reason why is that in a dynamic language, that fewer bugs have to be fixed before deploying. This is why languages like Python feel more productive than they are.
Languages with lots of static checking won't let you compile, let alone deploy, certain classes of bug, particularly if you wrote your code to use the static analysis rather than to circumvent it.
sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
So what you are saying is that Alexander Peter Kowalski is too retarded to work in a language like C.
Also if your work is so great why have you had to write it 10 times now.
It isn't like a file aggregator is hard to create.
If you are claiming that your work is a classic then you are just fooling yourself.
If not then you really need to stop spamming your garbage, proven to be ineffective work.
Actually you just need to stop spamming your garbage work all together.
Finally you really need to learn how to properly express your thoughts in a manner that doesn't look like a dog vomited up a box of Alpha-Bits and then crapped out some punctuation on it.
Not sure where they are getting their data, but according to the link to the PYPL, C is only #7 with 6.3%.
We can teach drivers not to start the car engine with the car in "drive" because they might run someone over, or we can just design the car not to start except in park.
We can also design cars to be incapable of driving faster than 30 miles per hour, because that is determined (by a committee of "experts", of course) to be the maximum "safe" speed that embraces 99% of all drivers on the road.
We'd all just pay for this safety. Pay in time. Pay in convenience. Pay in no longer having any possibility of "racing" a car or pushing the performance envelope for cars. Pay in no longer permitting anybody, anywhere, to design a car that does NOT have the speed governor built right in, and use all of the other crap that the CoE decided was necessary for even a raging drunk to be safe behind the wheel, including the car-surround baby bumpers and reinforced passenger compartment and feature that won't let the car start without all passengers wearing a kevlar vest and safety helmet.
This is an argument that is as old as time. If you like working with a fascist language that only permits you do allocate memory through an opaque interface that cheerfully trades off speed for an illusion of security, there are many to choose from. C, it is absolutely true, has comparatively few safety nets, although there are tools and techniques for making it as safe as you like. It is also true that it is difficult to write more efficient code than one can write in C short of coding in assembler, and C allows one to inline assembler for those cases where only assembler will let you access certain systems features (instead of waiting until the CoE decide that they are "safe"). Similarly, even good old Fortran has its place if you are doing massive linear algebra and want to optimize it for bleeding edge CPU features.
Could one modify C a lot more minimally, to make it safer than it is by nature while still not enforcing the OO kool-ade and outright prohibiting the use of malloc and pointers? Sure, probably -- some of the tools out there basically do that. But there are times when one can write code with malloc and pointers that is just plain magic compared to what one can get with OO opaque memory management.
Even when the experts all agree, they may well be mistaken. --- Bertrand Russell.
Enormously well said, sir.
Even when the experts all agree, they may well be mistaken. --- Bertrand Russell.
What changed?
Presumably the measuring method.
See subject & I note it's 3rd language I learned ~25++ yrs. ago I used professionally too. I have to update false positives filters & TLD/gTLD changes too stupid! If it's "not too hard to create"? Why don't YOU DO BETTER? You can't = why, lol! I said Delphi & Object Pascal = classics (learn to READ moron). Hosts are too & quoted /.ers PROVE IT vs. your bs again, here https://linux.slashdot.org/comments.pl?sid=11578773&cid=55884901/ dumbass & my work = VERY effective + RELEVANT (not your non-existent hot-air, blowhard). You need to quit being an UNIDENTIFIABLE anonymous "jealous jowie" mere "ne'er-do-well" TROLL, fool & YOU NEED TO LEARN TO READ vs. the proof above.
*... & after the above? Your usual vs. me - EAT YOUR WORDS!
APK
P.S.=> U LOSE as you stalk me constantly - & IF you saw my basecode (only Steve Gibson's ASM windows = faster)? I began my program based off Bruce Krell's "HighSpeed Windows Applications" C model (porting it to Pascal FROM C), registering timers w/ the OS manually, hWnd proc & CreateWindowX control creation via API + msg pass receive/dispatch loop to hWnd's in my code? You'd say diff. (if you even understood any of that - doubt it)... apk
C is easy if you don't try to do anything clever.
Not really. It's easy to slip and blow your leg off.
MISRA C (and, I suppose, even Ada) exist precisely because aphorisms like this don't work in practice.
Maybe in the future everything you compile gets fuzzed.
Looking for what? UB? Fuzzing is a testing technique, not a silver bullet.
So Alexander Peter Kowalski now admits he is a retard. /. users you do realize that a lot of them have been taken out of context, disclaimed, or retracted and people state that so no support there.
Your software must be shit if you have to rewrite it to handle TLD/gTLD changes.
Why would I waste my time creating an ineffective security solution that is easily circumvented?
If you used C extensively then writing code that doesn't wander off the end of strings or arrays, and doesn't leak memory should be easy yet you whine and bitch about it like it is hard.
When you bring up quotes from
You don't have to take my word for it as I have seen you claim someone's quote as valid and they respond back saying they were mistaken, it was taken out of context, or that they were just wrong, and then you go full retard on them.
I also now see that you weren't even smart enough to create your hosts file garbage all on your own but instead copied some other's work, so maybe the Chinese copied Bruce Krell instead of your retard efforts, or even more likely they came up the those obvious simple ideas on their own.
But please continue providing more evidence that you truly are a retard for everyone see.
See subject & https://developers.slashdot.org/comments.pl?sid=11578625&cid=55885471/ when I said C = 3rd language I knew as far back as 1992 stupid.
Dimwit gTLD's are continuously being added & when that happens I update my code (I check for that during filtration w/ TONS of other validations for PERFECT hosts interior stupid).
As far as HAVING to handle C strlen functions?
I know how to write it MYSELF (or in array length as strings = character arrays) & I PROVE IT LONG AGO (when Microsoft came to ME, not I to they, for an interview) http://developers.slashdot.org/comments.pl?sid=155172&cid=13007974/ in a +3 UPMODDED POST of mine from what? A decade++ ago or more??
Abpve all else - you STALK me constantly behind UNIDENTIFIABLE anonymous posts - I must have REALLY CRUSHED YOU @ some point that you've gone "PsYcHo" like this, lmao!
(Must kill you I do well in commercially sold code of mine to this day, numerous books/magazines/cd rom distros/newspapers feature me over time, trade contest placement of HIGH ESTEEM etc. for me - & you NEVER can or will - hahahaha!)
APK
P.S.=> Lastly - spout ALL THE BS LIES you want - but anyone can verify people I quote saying what I say they did (praising my work in /.ers OR security/web pros praising hosts as good security) - & anyone disagrees? I can easily shoot their points down (as I do you easily all the time - some 'samples' are just above dimwit loser that you are, lol)... apk
And I wish javascript had never been invented. Talk about a horrible language, security problem, and number one privacy invader.
I draw your attention to JerryScript
Curious. Thanks for sharing! In any case, note that this is a C library able to deal with JavaScript code rather than a pure JavaScript autonomous alternative. Although they use C in all the code samples, I guess that there shouldn't be problems with any other C-library-compatible language; but you would have to support the corresponding language environment + the library. By bearing in mind that resource minimisation is a quite important aspect in embedded systems, doing all that doesn't seem like the most optimal alternative.
Custom Solvers 2.0 = Alvaro Carballo Garcia = varocarbas.
I always thought C was the perfectly average programming language.
The C integration is intended to allow you to expose things like device I/O registers to JavaScript, so that you can then give your customers a generic bit of firmware into which they can load their own JavaScript. You need some C for initial setup, but a bunch of their demos spend most of their time in JavaScript. And, honestly, with cheap M-class ARM cores running at 30-100MHz, JavaScript is probably perfectly adequate for performance (I'm a bit sceptical of a language that doesn't have 64-bit integers, but that's a different issue). These processors are over an order of magnitude faster than the Alto on which bytecode-interpreted Smalltalk ran a full GUI and suite of applications and they're doing far simpler tasks. The only real issue is when you need to do something with realtime guarantees (for example, the LED strip outside my office that we use for Christmas lights is needs to have one of the pins set low and high at specific timings to toggle each LED in the strip), but even then there's only a little bit of code that actually has those timings. For the example of that LED strip, I have a single function that writes an array of colour values to the strip (it felt wasteful to allocate almost half a KB to storing the state of the strip, but I was lazy on a device with 32KB of RAM). If I wanted to use JerryScript instead of the existing C++ code that handles all of the transforms on the lights, then I'd just expose a JavaScript object that wrapped the LED strip and had an update() method to write it out to the strip. Nothing else is timing critical (well, except that the script has to finish update roughly every 100ms to manage the colour changes, but 100ms is a lot of cycles).
I am TheRaven on Soylent News
C is easy if you don't try to do anything clever.
Not really. It's easy to slip and blow your leg off.
MISRA C (and, I suppose, even Ada) exist precisely because aphorisms like this don't work in practice.
As a firmware programmer using C on a daily basis, I can say that of course you're wrong, because all you did is contradict me and you offered no reason at all to believe what you said, instead of what I said.
Presumably you just don't know.
MISRA C exists for reasons, but it also not a term that embedded C programmers use on a daily basis the way "C99" is. It exists, so what? It is like saying that Agile programming exists; so what? Existing doesn't tell you anything. MISRA C exists, obviously C programmers like extra standards. It is as stupid as saying that C++ exists, so C must have [whatever].
Maybe in the future everything you compile gets fuzzed.
Looking for what? UB? Fuzzing is a testing technique, not a silver bullet.
You're the one who claims you thought somebody was talking about a silver bullet, but only you were. So lets just agree, you were wrong about there being a silver bullet in the discussion.
Heh. Reminds me of back in the day when I was learning to program the Mac in Pascal. I had a program that drew triangles on the screen.
A co-worker told me if I used C, I could draw directly into the screen buffer and it would be a lot faster.
So I wrote a C version that got the window bounds and translated the pixel coordinates to memory addresses and wrote the pixels directly to memory. Worked like a charm.
Then I got the clever idea to rotate the triangles, so I added a rotation calculation for the 2D points and compiled it. In my haste I forgot to translate the rotation axis to the center of the triangle and rotated some points right out of the screen buffer.
Hit "run"... BLAM! Smoking foot stub. :)
Hate to break it to you, but you aren't exactly Bob Dylan now.
I'm a C programmer since about 1986. I contend C has been here all along and is still far better than whatever is in second place (or third or whatever).
Circle the wagons and fire inward. Entropy increases without bounds.