27

Programming language trends are notoriously hard to make sense of, and all available statistics & metrics should be taken with a grain of salt. One of the most oftenly quoted indexes is the TIOBE Programming Community Index, that rates programming languages by counting hits on the most popular search engines. As for job trends, Jobs Tractor published ...


19

You can use Wikipedia's data dumps. The XML data dump for English Wikipedia that includes current revisions only is about 31 GB, so I'd say it would be a good start for your research. The data dump is pretty big, so you should consider extracting the texts from XML with a SAX parser. WikiXMLJ is a handy Java API tuned for Wikipedia. And then, of course, ...


9

According to a VDC survey of embedded developers in 2010: C - 82% C++ - 45% Java - 13% and it goes down from there. A more readable graphic can be found here. Note that these answers are not mutually exclusive, i.e., someone might reply that he's using C, C++ and assembly, all in the same product. Thus, the percentages add up to more than 100%. I was ...


9

No. That metric displays a fundamental misunderstanding of both testing and reliability. Testing can only ever prove the presence of bugs, but never the absence. A test suite demonstrates that a system is capable of functioning as expected (incl. known failure modes), but except in the most simplest cases can never prove that it will always work as designed....


8

First things first, I would get a handle on the probabilities of any event occurring. Get out a pen and paper, we'll do this by hand. Make everything independent when you can. For example, when you see the series of if's at the start: if rand(20) >= 2 then //Make Object A if rand(20) >= 5 then //Make another Object A if rand(20) >= 14 ...


7

Information about the state of the system is beyond the scope of the C language specification, so anything you do will be specific to the system where your program will run. Since you've identified a target environment (Linux) and a program that provides some of the information you're after (free(1)), your best bet would be to acquire and examine the source ...


7

Another option would be Google Analytics profiles. Use the same account in all environments, but add a hostname filter in each profile to only include traffic from the respective environment. For example, if your internal QA environment is qa.example.com, create a "QA" profile in Google Analytics with a custom filter to only include hostnames matching ^qa\....


7

The easiest answer is yes, setup multiple accounts for each environment. Then, replace the profile ID (the text that looks like 'UA-XXXXX-X', as seen here) with the correct ID from the desired environment. Since you are using ASP.NET, you can store the profile ID in the web.config. This will lead to having to embed .NET code within JavaScript (which may or ...


7

By definition, it must be possible to get an infinite sequence of 0 in a really casual ("random") sequence so this program must be able to run forever. Otherwise, this could not be considered a random sequence from a mathematical/statistical point of view. You cannot rule out a specific, legitimate sequence and still consider your system a really random one. ...


7

and don't want to ask the individuals doing the work to manually record things like how long it takes them to perform a given task Here's the problem. You basically want to create meaningful metrics, without measuring the only thing that matters. Nearly all of your users won't care about how fast the code itself is unless it causes a noticeable impact on ...


6

The COBOL wiki page cites the Gartner quote, but there isn't a source from Gartner provided. It is all over the Net. 80% of businesses, 200 billion lines of code, 5 billion new lines of code each year. Some places, the numbers vary a bit. However, one number is almost always missing from that Gartner quote on the COBOL wiki page, and missing number is the ...


6

TDD is not a design technique. While it can aid at producing an effective design (and validating the veracity of that design, and verifying that your software still works after refactoring), you still need to think about the structure of your programs and come up with some sort of algorithmic representation for the specific problems you are trying to ...


6

Unless your code uses some randomized technique, it is deterministic, even if for a given input it is hard to specify or predict. So when we see a given input produce a given result, if we provide the same input we will see the same result again. This is true even for a learning algorithm or database application, where "the same input" means the same input ...


5

You need to try harder - in the sense, more attempts are needed to increase chances to get 10 digits set. Regarding the program, it would greatly benefit from logging improvement. The way it is done now, program output just lacks an information that would help to identify what is going on there. If you add few lines to the main method to count the number ...


5

All of the properties you mention are deterministic properties. You can assert that your statistical methods are consistent given known inputs/outputs. Likewise, random number generation is still deterministic given the seed. You would do unit/integration testing like you would any other code (the Right BICEP, CORRECT Boundary Conditions, etc.). ...


5

Last year I filled a questionnaire on www.vdcresearch.com. You can take a look in embedded system SW reports - you might informations about the languages used for embedded system. Acording to What languages do you use to develop software? :


5

Depending on how you define the 100%, that number might be correct. For example, it might very well be that 70% of the programs written for banks and financial institutions until 2010 is based in COBOL. Wouldn't be surprised. But I don't think that it is a fair statement to say that out of all the software in the world, 70% would be written in COBOL. ...


5

Project Gutenberg has a large corpus of texts in English, already in text form. Project Gutenberg offers over 42,000 free ebooks: choose among free epub books, free kindle books, download them or read them online. We carry high quality ebooks: All our ebooks were previously published by bona fide publishers. We digitized and diligently proofread them ...


5

Google has a collection of data sets that they use to determine n-gram probabilities. Examining their bigram (2-gram) datasets should give you a good picture. There are many other corpi out there for which these analyses have already been done.


4

You could use Piwik from http://piwik.org . It's essentially an open source, host it yourself, web analytics tool. It has most of the major features of GA and is just as easy to use.


4

the Gartner Group reported that 80% of the world's business ran on COBOL with over 200 billion lines of code in existence and with an estimated 5 billion lines of new code annually. Source is: COBOL-1. I have no idea how do they count these numbers. I worked in several companies where no one actually tried to count all lines of code in one shop accurately, ...


4

Yes, given infinite time the code would surely terminate. See infinite monkey theorem. The probability of it running forever is 0, there's a mathematical proof for that. That's if the numbers were truly random. I don't know enough about random number generators to tell you more than that.


4

This is a supervised learning problem. It seems to be a classification task i.e. the output variable D takes class labels (the other group is the regression task). There are a lot of algorithms for classification and you should probably start with something simple e.g. logistic regression. If I misunderstood the example and yours is a symbolic regression ...


3

I think these figures date to about around 1997 when the Y2K "problem" was the hot topic in IT (especially sales people out to make a quick buck!). At the time there were some serious attempts to find out how much COBOL/C/C++/Java/VB etc. code was actually running to get a grip on how much work was required. It came as a shock to people how much of the ...


3

Major advantages of R are (well, apart that it's the industry standard in a way, which is something that should never be underestimated) its large number of libraries and its large and rather active community which again contributes to the number of libraries. Also, it has good plotting capabilities. Incanter (note; I've not used neither R nor Incanter for ...


3

Yes, I've been in your situation. In no way did we impose our choice on clients when that choice of analytics tool had implications for both privacy of data transfer and storage but also external/third-party use of the data. Our legal counsel's recommendations (and you should absolutely check with yours) were the following: tell clients what you're ...


3

Give that you're on a modern Linux system, the information you're looking for is found in the pseudo-filesystem rooted at /proc/. Every process has a /proc/[pid] subdirectory, and other subdirectories provide a global status. E.g. /proc/meminfo is the source for free(1).


3

What do your clients want to know? Collect data on that. That said, at a minimum I would collect (per web page): Number of first-page views. Number of pages viewed until abandonment (user leaves site). This can be graphed to give an idea of how long people stay on the site. Number of view per page. Which pages are attracting more interest than others? ...


3

It's just a choice you have to make. Google analytics tracks pages by both page title and url. Depending on how you are viewing the report, your new pages with the same page titles will still aggregate together (so the data will combine), whereas when viewing by page url (if the urls have been moved) will show up with new entries (and the data will start ...


Only top voted, non community-wiki answers of a minimum length are eligible