Wikipedia:Reference desk/Archives/Computing/2015 August 26

= August 26 =

UK unemployment of computer scientists
What are possible explanations for the high unemployment of comp. scientists in the UK? They outsource to India? They don't invest much in this industry? They educate too many of them? Too many of them immigrate to the UK?

Is any country in this situation too? --Yppieyei (talk) 00:47, 26 August 2015 (UTC)
 * There are many potential explanations, some of which you stated in your question. The problem is unemployment rates cannot be tied to one specific factor but rely on numerous things.  I found this article that tries to go in depth regarding the issue as well as this one that brings up some good points.  The saturation level of computer scientists in the UK may be part of the problem.  There are just so many people with that degree that the field has become too competitive.  What that means is that employers have such a large range of people to choose from that they often end up settling on criteria that excludes a large number of people (simply because they can).  I have experienced this somewhat myself.  The joke is that "entry level" jobs require 2 years of on the job experience.  Unfortunately, that is less of a joke and more of a sad reality.  Since the field of potential employees is so saturated with potentials, companies would rather try to hire people who have proven that they know what they are doing as opposed to a recent graduate with no experience.  In addition, employers may set hiring standards too high, again, simply because they can.  I think the guardian article says it the best. "Many employers complain that graduates are not being taught the skills they want and many large employers admit to recruiting only from elite Russell Group universities."  Eventually something has to give either way.  It just may take a little bit more time than is preferable. --Stabila711 (talk) 01:01, 26 August 2015 (UTC)

split string based on some seperator using angular js
i have a string "value1,value2,value3" i want to split this string based on comma and get all three value and print them using ng-repeat directive in angular js106.51.19.230 (talk) 07:36, 26 August 2015 (UTC)

Create An Account
When attempting to set up an account, the Wikipedia registration screen does not accept my email address despite numerous attempts...I've tried three different emails. — Preceding unsigned comment added by 97.86.224.160 (talk) 13:47, 26 August 2015 (UTC)


 * Check your junk mail folder. Failing that raise it at WP:HELPDESK As that is the better place for your query. - X201 (talk)

I am getting the message below from many wikipedia pages. What's going on?
Script error: The module returned a value. It is supposed to return an export table. — Preceding unsigned comment added by 31.177.97.80 (talk) 15:30, 26 August 2015 (UTC)
 * This has been resolved; see Village pump (technical)/Archive 139. -- John of Reading (talk) 20:54, 26 August 2015 (UTC)

Windows 10
Apologies if this is a FAQ. Not asking for opinions, but references - what do 'experts' in well-regarded IT media recommend in terms of non computer-savvy individuals accepting the invitation to upgrade from Win 8/8.1 to Win 10? Is there a consensus to do it now, or wait, and if the latter, wait until when/what?

Finally, we have a somewhat buggy but pretty new Win 8.1 laptop, that likes to drop the internet connection, hates printing and is slow. Without considering any other options (check spyware, warranty etc) would this make this machine a better or worse candidate for going for Win 10 asap.

Thanks --Dweller (talk) 15:35, 26 August 2015 (UTC)


 * From experts (such as people with a PhD in Computer Science or working professionally as the manager over an IT shop of at least 50 people), you should use the most recent software. Older software is not maintained as well as the most recent software. If, instead, you want public opinion, there are plenty of people who can make up some horror story about how they know someone who knows someone who upgraded to Windows 10 and then the computer ate their beloved pet kitten. As for your buggy laptop, it doesn't sound like a software issue. It sounds like a hardware issue. Putting new software on a broken computer won't magically fix the hardware. If, as you suspect, it is malware of some kind, upgrading to Windows 10 could break everything because Windows 10 is not designed to play nice with malware. 209.149.113.150 (talk) 16:02, 26 August 2015 (UTC)


 * Interesting, thanks. --Dweller (talk) 16:34, 26 August 2015 (UTC)


 * It is a good idea to avoid using unmaintained software if it's security-critical (browsers, etc.). But Windows 8.1 is still maintained. It will get security fixes until January 10, 2023 . I would advise you to plan to stop using Windows 8 by January 10, 2023, but the existence of a newer version is no reason to stop using it now. -- BenRG (talk) 02:08, 27 August 2015 (UTC)


 * If a laptop's circuitry is going to go wrong it will usually do so in the first couple of months of use. So, don't throw it away yet! Try running Linux_Mint on a pen-drive and see it it runs better. If so, back up your data and then install Linux Mint. P.S.Linux is not windows... i.e., it takes time to get out of the habit of jumping through  microsoft's hoops and restrictions (after all its your computer and so why let microsoft dictate what you can and can't do with it). Linux in the long-run  saves much time and frustration for the home user over  propriety windows. Then you will have (as 209.149.113.150 suggests) one of the latest proven operating systems.--Aspro (talk) 20:54, 26 August 2015 (UTC)


 * Here is a comparison. Windows vs Linux: The 2015 Version. P.S. Mint is the ultra stable version of Ubuntu and more so the current Windows 10.--Aspro (talk) 21:08, 26 August 2015 (UTC)


 * Yes, although running "latest OS" is often good advice, Win10 seems to be a bit... different than the others. Several sources are critical of the privacy and security concerns raised by Win10 even compared to previous MS OS, e.g. . (WP:OR warning:) I know of at least one large state university in the USA that will not currently allow Win10 to be installed on Uni-owned computers due to security and privacy concerns. One source even claimed that running the Win10 OS on a publicly owned computer would violate a state constitution! (sorry I cannot link a ref, this was claim was voiced via private internal university email, and I cannot find any public record.) SemanticMantis (talk) 22:08, 26 August 2015 (UTC)
 * It's not different from the others. It's going the same way as the others. Microsoft is lagging behind in the upload-everything-to-our-servers trend, if anything.
 * The widespread paranoia over one feature, "Wi-Fi Sense", seems like a tempest in a teapot. It lets you share your Wi-Fi password on various social networks. You don't have to do it, and it doesn't happen by default, despite what many people seem to think. See e.g. . -- BenRG (talk) 02:08, 27 August 2015 (UTC)
 * Sorry, I meant many people seem to be treating the upgrade to win10 a bit differently than the previous Windows OSs, not comparing the MS line to other OSs. I don't have a horse in this race, but I don't recall e.g. Win7 stirring up nearly as much controversy over security and privacy issues. SemanticMantis (talk) 17:31, 27 August 2015 (UTC)


 * Windows 10 is for suckers ! StuRat (talk) 22:23, 26 August 2015 (UTC)
 * Despite the clickbait headline, I think the advice in that article is good. Wait for other people to sort out the problems, unless you want to be one of those people. -- BenRG (talk) 02:08, 27 August 2015 (UTC)


 * Yes, you don't want to be on the bleeding edge. StuRat (talk) 16:43, 27 August 2015 (UTC)


 * Appears like the OP's best bet is to abandon the wait for me to catch up  old dinosaur operating systems concepts  that Win 10 is based on and go for something more modern. Read: Secret to Desktop Linux Adoption. --Aspro (talk) 13:41, 27 August 2015 (UTC)

Office
Does Microsoft version of Office need to be deleted before installing Apache Open Source Office? — Preceding unsigned comment added by 71.8.88.240 (talk) 23:06, 26 August 2015 (UTC)
 * You shouldn't have to. The two programs are completely separate from each other and should not conflict with one another. I have had open office and Microsoft office on the same computer before without any issues. --Stabila711 (talk) 23:12, 26 August 2015 (UTC)
 * You will have to decide what program opens the different doc types though. If you double click on a .docx, what do you want to run to open it? Graeme Bartlett (talk) 10:51, 27 August 2015 (UTC)


 * When installing, install MSO 1st, 2nd LibreO, due setting the default application for files by extension. Effects like a blank or empty table occur, when Excel is not the default application when opening a file saved by an former version of Excel. Setting the defaut application is not just open a file by its Extension XLS oder XLSX. MSO differs here in opening a file or performing an import procedure. For what reason ever, the import is beeing skipped some time. I guess it may for performance, only? Else, there is no other or general incommatibility. The office applications exist side by side on the same computer. Note LibreOffice and OpenOffice are parallel versions similar to a fork in developping. Also these apps use identical file extensins. When migrating files to a never version of the free office applications, LibreOffice kept the formatted pages in some documents as before, while OpenOffice, reformatted the documents border of rendered the letters litte different, causeing additional line feeds. -- Hans Haase (有问题吗) 18:09, 27 August 2015 (UTC)

Shouldn't programming abstractions be easy to understand? Often I find that OO is not the case.
Wouldn't programming be much easier if instead of OO, we just used lists of commands and if/then statements?

I see many people, who are interested in learning to program, struggling with OO. However all, or almost all (there are always the really dull of mind) seem to understand a series of command. --YX-1000A (talk) 23:18, 26 August 2015 (UTC)


 * I'm not quite "grasping" the spirit of your question. OO is not the "only" way to program, and I would suggest it's certainly not the best or easiest "gateway" to start learning. Comparison_of_programming_paradigms. OO is a difficult concept to grasp, especially for someone not already familiar with programming. I would suggest procedural programming is a much better place to start learning. Vespine (talk) 00:00, 27 August 2015 (UTC)


 * I expressed myself poorly.
 * The point is that abstractions like OO, among others, are used so that we can grasp what the computer is doing. They are there to allow humans communicate with computers, and to communicate with other humans, what a program is supposed to do. However, many humans cannot easily deal with OO (as I said, and you confirmed). Shouldn't we all be using more simple concepts then, like some kind of procedural approach? Historically, however, we have moved from easy abstractions to abstractions which are difficult to grasp.--YX-1000A (talk) 00:33, 27 August 2015 (UTC)


 * I don't think OOP is hard to learn. It may be that more complex software is more likely to use OOP concepts, so a randomly selected OOP library may be harder to understand on average, but that isn't OOP's fault. -- BenRG (talk) 02:43, 27 August 2015 (UTC)


 * The point of abstractions is not to "grasp what the computer is doing." It is to HIDE what the computer is doing. If you want to grasp what the computer is doing, you use assembly language - which is nothing more than a loooooong series of instructions. 209.149.113.150 (talk) 13:23, 27 August 2015 (UTC)


 * "Easy to learn" is not the main goal for many programming languages, nor should it be. For OO in particular, those using it are far more interested in code Reuse / Recycling, Encapsulation, and ease of maintenance. Nobody is forcing anybody to start with OO. Go ahead and start with procedural. When you get skilled enough to be hired on a project with millions of lines of legacy code written over many yeats you will embrace OO. Meanwhile I will keep programming microcontrollers in hand-crafted assembly language (smile). --Guy Macon (talk) 02:20, 27 August 2015 (UTC)


 * OO is not there instead of if's, then's, for's and while's. It's a higher level organizing structure.  The need for OO doesn't become obvious until projects get large and big chunks of code written by different people need to be connected together.  Those chunks still use if's, then's, for's and while's inside their objects - but the connection between data and code is formally made instead of informally.  I strongly disagree that OO is somehow 'harder' than procedural code - once you get beyond very simple programs, working without OO gets tougher and tougher, until eventually, you find yourself kinda re-inventing OO using a procedural language that lacks the formality of error checking those things.
 * For large scale coding projects, I find OO to be an extremely natural way to express the walls that you must inevitably build between chunks of code in order to maintain some kind of sanity.
 * SteveBaker (talk) 05:09, 27 August 2015 (UTC)


 * It is hard to learn at first, but after a few programs, it becomes easy to understand. But if you don't like OOP, you don't have to program in it. For example, C is still very popular for new code. Many other programming languages like PHP and Perl also let you do everything procedurally. In languages like C#, VB.NET, and Java, everything is part of a class. So, you might want to stay away from those. But remember that even procedural languages like C and COBOL still have structures, which are very similar to classes. So, if you ask me, the importance of the invention of "object oriented" programming is over-hyped because people were using structs long before "classes" were invented. So, you might as well just learn OOP even if you plan to stay away from OOP, because it will help you understand structs, too.&mdash;Best Dog Ever (talk) 05:57, 27 August 2015 (UTC)
 * Since C++ is an almost perfect superset of C, you might as well use C++ and take advantage of OOP when you need it - and not when you don't. But honestly, when you start working on a large project - and especially if more than one programmer is involved - you need OOP.  It's no accident that modern languages all have those concepts built in at the core of the language.  SteveBaker (talk) 15:33, 27 August 2015 (UTC)
 * Somewhat related to large projects: My essay at [ http://www.guymacon.com/structuredengineering.html ]. --Guy Macon (talk) 16:10, 27 August 2015 (UTC)
 * The Linux kernel is almost entirely written in C. It has almost 20 million lines of code and about 1,300 developers. You don't have to use OOP for large projects.&mdash;Best Dog Ever (talk) 00:21, 28 August 2015 (UTC)

If we understand the question as what to learn first then I think many here give the wrong advice. Saying "learning it is easy" to someone who just laid out problems is like saying "English is easy" to a beginner, just because you have been practicing it for many years. The argument "you might as well learn the superset" is absurd; if that were true then for any area of knowledge you might as well start learning everything at once. When my mother taught me to read and write, she started with capital letters, which was great because I could already read shop signs and express myself in half the time it would have taken if she had included lower case. From the fact that C++ is a superset of C, I draw the opposite conclusion from SteveBaker: That means that C is not like training wheels that you have to unlearn later, but it is like upper case letters that will always be useful.

But I'm not sure the question was meant as a request for advice. It seems more like a philosophical question to me. Why do methods become harder when we try to make solutions easier? This has already nicely been answered by 209.149.113.150 and Guy Macon. I'd like to add one comparison: When I was a kid, I got 1.50 DM pocket money each week, and I therefore only had coins. So I didn't immediately see the need for bank notes since (at least from a mathematical point of view), one can pay any amount just with coins, just as one ((or at least Guy Macon)) can program everything in assembler. &mdash; Sebastian 19:40, 27 August 2015 (UTC)


 * (Smile) How to write an operating system, web browser, email client, and office suite in assembly language: Step one: extend human life to at least 2000 years so you have time to write the program. Step two: solve the problem that, when done, the result only runs on hardware that they stopped making 2000 year ago. Step three: see a shrink to find out what kind of crazy you are that prevents you from using C/C++ and reusing code from Linux or BSD...


 * On the other hand, when your program has to run on hardware that costs a fraction of a dollar for all of the electronics and has a total of 256 nybbles of RAM, put away your fancy OO tools and start learning microcontroller assembly language. Watching your product coming off a Chinese assembly line at a rate of 100.000 units per hour makes it worth the effort. :) --Guy Macon (talk) 23:14, 27 August 2015 (UTC)