# Coding/Scripting/Programming/Web Design Help Thread



## Carson (Mar 26, 2012)

*The Gist of Things:*
This thread is an effort to avoid the multitude of threads scattered throughout the forum related to coding, scripting, etc. This is not a "one answer" type thread, as it is likely that many questions posed will result in conversational type answers. Questions do not need to be related to cubing software/scripts or web sites.

I have personally asked many questions here-and-there about these issues, as I know many of you have as well. We are fortunate, as a community, to have many proficient programmers in our midst, many of whom are very helpful and wiling to assist those of us who are "less than proficient." Hopefully this thread will be able to put those questions and resources in the same place.


----------



## Ranzha (Mar 27, 2012)

*Help needed with finding SD in Excel*

I wasn't sure where to search or who to ask, so here I'll ask.
Could someone help me write a formula (for Excel/Google Docs Spreadsheets) for finding the standard deviation of a set of five times, removing best and worst?
I've done it for mo3 just by tweaking the mo3 average formula, since that doesn't remove any best/worst result. However, the a5 system is a completely different monster.

Thanks for your time =D

~R

EDIT: Thanks for the move, didn't see this here =)


----------



## Goosly (Mar 27, 2012)

Avg5 can be calculated by =(SUM(A1:A5) - MAX(A1:A5) - MIN(A1:A5))/3 (not sure if that's the right syntax, but you get the idea)
You can do he same for standard deviation with the correct formula: Wikipedia - Standard Deviation

So instead of using standard functions, you just type the formula, excluding the MIN and MAX
Or you can write new functions using VBA


----------



## Ranzha (Mar 27, 2012)

Goosly said:


> Avg5 can be calculated by =(SUM(A1:A5) - MAX(A1:A5) - MIN(A1:A5))/3 (not sure if that's the right syntax, but you get the idea)
> You can do he same for standard deviation with the correct formula: Wikipedia - Standard Deviation
> 
> So instead of using standard functions, you just type the formula, excluding the MIN and MAX
> Or you can write new functions using VBA


 
But how would one factor in DNFs and DNSes? That's where I'm kinda stuck.
From the results.xls file you can download from the WCA website, they have:
=IF(COUNTBLANK(C2:G2)>0,"",IF(COUNTIF(C2:G2,"DNF")+COUNTIF(C2:G2,"DNS")>1,"DNF",ROUND(IF(COUNTIF(C2:G2,"DNF")+COUNTIF(C2:G2,"DNS")>0,(SUM(C2:G2)-I2)/3,(SUM(C2:G2)-I2-J2)/3),2)))
And this works perfectly for what I'd like for average of 5 (which explains why it's used officially for results pages). The first half of the formula is just fine, but the true/false arguments for ROUND are what's screwing me up.


----------



## Cheese11 (Mar 27, 2012)

*HTML: Divs*

Hello everybody.

I was just having some trouble with DIV's and I was wondering if somebody could give me an example.

Thanks,
Eric


----------



## Goosly (Mar 27, 2012)

Ranzha V. Emodrach said:


> And this works perfectly for what I'd like for average of 5 (which explains why it's used officially for results pages). The first half of the formula is just fine, but the true/false arguments for ROUND are what's screwing me up.


 
Let's assume we have results with at most one DNF or DNS
The nice thing about SUM( ... ) is that it will only sum the ... elements that are numbers. (... are, in this case, either times or "DNF" or "DNS")
For the standard deviation, you will need to sum (... - avg5), which is a number if ... is a number. In the bad case, ... is DNF or DNS, so a string, which will result in an exception. Excel simply doesn't understand that you want to subtract a number from a string 

What you will need to do in this case, is check every ... to not be DNF before you subtract the avg5.
The excel formula's are not really nice in a case like this, because they will become very long, but you could try 



Cheese11 said:


> I was just having some trouble with DIV's and I was wondering if somebody could give me an example.


 
Not sure what your problem is, but here is an example that shows the difference between div and span.
span is an inline block-element, while div will just use the whole page-width by itself.

edit: If your just starting to learn HTML, which I assume since you want to learn about div's, here is a site where I learned everything from


----------



## Ranzha (Mar 28, 2012)

Goosly said:


> Let's assume we have results with at most one DNF or DNS
> The nice thing about SUM( ... ) is that it will only sum the ... elements that are numbers. (... are, in this case, either times or "DNF" or "DNS")
> For the standard deviation, you will need to sum (... - avg5), which is a number if ... is a number. In the bad case, ... is DNF or DNS, so a string, which will result in an exception. Excel simply doesn't understand that you want to subtract a number from a string
> 
> ...


 
There's a STDEV function, and I wanna use it, but the DNSes and DNFs are in the way. No need for formulating how to find SD manually lol. Would it be beneficial to sort the data in a separate sheet and locally import the sd of the middle three results?

EDIT: Never mind, got it working using the LARGE function.
=IF(COUNTBLANK(A1:A5)>0,"",IF(COUNTIF(A1:A5,"DNF")+COUNTIF(A1:A5,"DNS")>1,"DNF",ROUND(IF(COUNTIF(A1:A5,"DNF")+COUNTIF(A1:A5,"DNS")>0,STDEV({LARGE(A1:A5,1),LARGE(A1:A5,2),LARGE(A1:A5,3)}),STDEV({LARGE(A1:A5,2),LARGE(A1:A5,3),LARGE(A1:A5,4)})),2)))
Woot


----------



## Bob (Apr 11, 2012)

Maybe somebody can offer some help or shed some light on this for me. I'm curious if there is any validity to what my web host is telling me or if they're just blowing smoke up my ass. I have been getting a "Service Unavailable" error quite frequently when cubewhiz.com is visited. I have unlimited bandwidth and the site sees approximately 1000 page hits per day (on the main page...I don't have data for other page views). In addition, the site sees approximately 12 GB of bandwidth usage per *month*. Here is the email I got today in an attempt to resolve this issue.



> Bob -
> 
> This isn't about bandwidth at all. It's about the number of connections to your site at any given time. No site can have unlimited connections or it would have the ability to overrun the server and shut down other sites.
> 
> ...


Any advice would be appreciated.


----------



## qqwref (Apr 11, 2012)

Maybe the solution there would be to use a robots.txt to prevent bots and spiders from looking at everything? The wikipedia article (http://en.wikipedia.org/wiki/Robots.txt) provides some good info about how to use one of those. It's possible that with the sheer quantity of stuff hosted on your site the bots and spiders could be making a ton of requests and overwhelming the server.


----------



## Stefan (Apr 11, 2012)

You definitely should be able to see more statistics, usually both the access_log file and a web page showing detailed stats, for example like this which includes a section about bots:
http://www.nltechno.com/awstats/awstats.pl?config=destailleur.fr

Is the problem new, i.e., did it start when you rearranged the site and switched to PHP?


----------



## radmin (Apr 11, 2012)

Are you connecting to a database? If so, you may have the connections left open. You want to close connections and dispose of objects when you are done with them in any language.

You need to figure out where the error came from. Did browser generate that message when the server didn't respond or did the server decide to give up when the site didn't respond?

I'm a Microsoft developer so I can't be a huge help. I can tell you this, Service Unavailable on a Microsoft Server usually means there was a crash in the web site's code.It's low level so it implies the site couldn't even start up at all.


----------



## Bob (Apr 12, 2012)

This is an old issue before I switched to PHP and I don't connect to any databases.


----------



## Carson (Apr 14, 2012)

Bob, do you still have all of the image files and such from the "original" cubewhiz? I recall "back in the day" that those images appeared in various places. I'm not sure whether they were "borrowed" or if they were hotlinked. If the latter, that could perhaps be part of the issue.

To really be running into an issue with connections, you would have to have a crazy amount of hits. 12 gigs per month? That sounds like a lot for what you have on your site. There has to be something going on there.


----------



## qqwref (Apr 14, 2012)

Oh hey, that's a good point. There could be sites that are directly linking to resources on your site. If you take a look through your most-used files, do you see anything out of place?


----------



## Bob (Apr 14, 2012)

I suppose it's possible sites are just linking to them rather than uploading them to their own spaces. If any sites are hotlinking, though, those sites are going to be pretty confusing. I renumbered all of my OLLs to match the Speedsolving Wiki and I've rotated a number of images to match the angle I use, so those sites will have OLL pages in which none of the algs match the case. LOL.

I think maybe the videos might be part of the problem. There are no visible links to them anymore, but they were taking up a ton of space (>1MB each) and there were a ton of them (57 OLL, fast and slow for each, 21 PLL, fast and slow for each, 40 COLL, fast and slow for each, plus tons of videos of me solving). I'm going to be using Youtube for videos from now on so when I re-do the vids, I'll just be embedding videos from Youtube.

It's funny--Youtube wasn't even around when I created Cubewhiz...I think it started out right around the same time so it really wasn't popular. Here is a funny email conversation from 2005.



> I like to host my videos on my own webspace because it is easier to keep track of what I have uploaded and also I don't have to depend on any outside source. Plus, I have never heard of youtube.com. Are you personally in charge of youtube.com? I would not mind uploading videos onto youtube.com, but I would keep a copy on my own webpage. I see that a YouTube logo is placed on videos when they are viewed. Is this so that if somebody downloaded the video, they know it is from YouTube? I would not be comfortable with somebody else getting credit for my own videos.
> 
> ~ Bob
> 
> ...



Anyway, I removed all of the videos for now to see if bandwidth goes down. Most of them are out of date anyway.


----------



## Stefan (Apr 14, 2012)

Do you really have neither the access_log file nor some detailed analysis page? Those should tell you a lot, and every reasonable host will give you at least one of them.


----------



## Bob (Apr 15, 2012)

Yesterday's bandwidth was about 150MB instead of the usual 400MB and the lowest bandwidth over the last 30 days by far. I think the videos were definitely the problem.


----------



## monkeytherat (Apr 19, 2012)

Cheese11 said:


> Hello everybody.
> 
> I was just having some trouble with DIV's and I was wondering if somebody could give me an example.
> 
> ...



I find tutvid.com to be veeeery useful in web design. You usually don't actually need dreamweaver, though it does make doing things easier. As for your specific question, I believe [URL="http://tutvid.com/create-a-full-css-webpage-dreamweaver-tutorial/]THIS VIDEO[/URL] to be quite helpful.


----------



## MiPiCubed (Apr 19, 2012)

I am trying to implement a simple cube timer in java. I found this code here, http://stackoverflow.com/questions/8255738/is-there-a-stopwatch-in-java which works well for timing the execution time of a block of code. How can I adjust this so that the timer starts when the spacebar is hit, and waits for the spacebar to be hit again? Thanks in advance for any help, I'm assuming lots of us know java.


----------



## Pedro (Apr 19, 2012)

MiPiCubed said:


> I am trying to implement a simple cube timer in java. I found this code here, http://stackoverflow.com/questions/8255738/is-there-a-stopwatch-in-java which works well for timing the execution time of a block of code. How can I adjust this so that the timer starts when the spacebar is hit, and waits for the spacebar to be hit again? Thanks in advance for any help, I'm assuming lots of us know java.


You should use a variable to store the time when the spacebar is first hit (System.CurrentTimeMilliSeconds or something like that, can't remember), then when it's hit again, set another variable and compare it to the first one to get the time elapsed.


----------



## FatBoyXPC (Apr 19, 2012)

Bob said:


> Yesterday's bandwidth was about 150MB instead of the usual 400MB and the lowest bandwidth over the last 30 days by far. I think the videos were definitely the problem.


 
Just an FYI, in your original post asking for help, you put 12gb daily usage:


Bob said:


> In addition, the site sees approximately 12 GB of bandwidth usage per day.



In regards to the advice qqwref gave you, make sure you don't deny all access to the crawlers, you still want your site indexed by Google 

You can fix hotlinking issues by setting up some rules in a .htaccess file.

Since your webhost said (in a nutshell) that you have too many requests at a given time, sounds like their web server config might need to be optimized (such as cutting down the keepalive settings on requests).

Ultimately though, I think you could clearly benefit from setting yourself up with a CDN. You have the CDN host all your static content (images, videos, etc) and then people request the html page, not the html page + however many images you have on it (since the request for each image then gets pawned off to the CDN). I realize you have your videos on youtube now, but that was just an example. Another benefit to using a CDN is that the users will see a decrease in loading times. So think about this: The page where you have 57 OLL images, that's 58 requests at minimum (one for the html page, one for each image). You can cut that to 1 request (just the page) because the images then get pulled from the CDN.



Pedro said:


> You should use a variable to store the time when the spacebar is first hit (System.CurrentTimeMilliSeconds or something like that, can't remember), then when it's hit again, set another variable and compare it to the first one to get the time elapsed.


 
MIPiCubed: Also make sure that you start the timer on keyUp event (such as spacebar being let go instead of pressed) and stop the timer on keyDown event (spacebar being pressed).


----------



## Bob (Apr 19, 2012)

fatboyxpc said:


> Just an FYI, in your original post asking for help, you put 12gb daily usage:
> 
> 
> In regards to the advice qqwref gave you, make sure you don't deny all access to the crawlers, you still want your site indexed by Google
> ...


 
Whoops! I meant 12GB per month!  Big typo.

What exactly is a CDN? Is it just some other site that I store these files and I just change the image URL to the location on at the CDN? Do you have any to recommend?


----------



## Bob (May 4, 2012)

Update: Bandwidth is 7.88 GB over the past month. Much better.


----------



## miniGOINGS (May 9, 2012)

Running a jar in cmd, have this;


```
@echo off
java -jar filename.jar
```

Trying to automatically execute keystrokes after this segment (inside the batch), but having trouble because it's still running the jar. Any ideas?


----------



## Carson (May 9, 2012)

miniGOINGS said:


> Running a jar in cmd, have this;
> 
> 
> ```
> ...



Is it that you need to wait for the .jar to finish before sending the keystrokes, or do you need the keystrokes to send while the .jar is running?

If you just need to delay the keystrokes, ping localhost long enough for the file to finish:


```
ping 127.0.0.7 -n 5
```

Just replace the "5" with the number of requests... experiment to see how many you need.


----------



## miniGOINGS (May 9, 2012)

Carson said:


> Is it that you need to wait for the .jar to finish before sending the keystrokes, or do you need the keystrokes to send while the .jar is running?
> 
> If you just need to delay the keystrokes, ping localhost long enough for the file to finish:
> 
> ...



The problem is that I'm needing to send the keystrokes while the jar is running. It actually won't terminate unless I enter specific keystrokes. Like I could manually type what I need out everytime I run this batch, but that would be quite annoying and tedious.


----------



## Carson (May 10, 2012)

miniGOINGS said:


> The problem is that I'm needing to send the keystrokes while the jar is running. It actually won't terminate unless I enter specific keystrokes. Like I could manually type what I need out everytime I run this batch, but that would be quite annoying and tedious.



Is the .jar your own creation? You aren't going to have any luck using a batch file to input keystrokes into the file. If you are able to edit the .jar code, you could set it up to allow a switch dictating what keystrokes to input. I'm not sure what you are trying to do, but at this point it starts to be more trouble than it is worth. It may be time to explore something a little more elaborate than .bat.


----------



## CoryThigpen (May 16, 2012)

Ranzha V. Emodrach said:


> =IF(COUNTBLANK(A1:A5)>0,"",IF(COUNTIF(A1:A5,"DNF") +COUNTIF(A1:A5,"DNS")>1,"DNF",ROUND(IF(COUNTIF(A1: A5,"DNF")+COUNTIF(A1:A5,"DNS")>0,STDEV({LARGE(A1:A 5,1),LARGE(A1:A5,2),LARGE(A1:A5,3)}),STDEV({LARGE( A1:A5,2),LARGE(A1:A5,3),LARGE(A1:A5,4)})),2)))



How can you modify this to look through a string of data -- say 100 solves entered into a spreadsheet in the same row -- to identify your best Ao5?


----------



## Carson (Jul 3, 2012)

Does anyone have experience with communication via serial port? I am specifically interested (at this point, anyway) in what languages work well.


----------



## Carson (Jul 4, 2012)

Another question:

Python (Bear with me, I'm still trying to wrap my head around variable vs. name and list vs. array)


```
list1 = ['a', 'b', 'c']
list2 = ['1', '2', '3']
list3 = ['cheese', 'beer', 'cheetah']

list_chosen = random.randint(1,3)
item_chosen = random.randint(0,2)
item = list{list_chosen}[item_chosen]
```

I hope this sort of makes sense... its hard to tell since I don't really know what I'm doing at this point. This is also just a learning exercise, so it isn't really meant to do anything yet. What is contained in the curly braces {} is what I am trying to figure out, they are just there to highlight my problem. My real question is, how do I use one name as part of a reference to another name?


----------



## Stefan (Jul 4, 2012)

I don't know whether such variable interpolation is possible in Python, but I'd find it rather ugly. That example with 15 variables in the wikipedia article makes me want to throw stuff at the author, not just because it's bad but also because he smugly writes "done smartly", "variables are appropriately used" and "the best way".

Better use a two-dimensional list, so you have one variable holding a list of lists.


----------



## Lazy Einstein (Oct 22, 2014)

I am going to start learning how to code. I have chose to begin with Java. Any advice?(Stuff you wish you knew when you started etc)


----------



## kcl (Oct 22, 2014)

Lazy Einstein said:


> I am going to start learning how to code. I have chose to begin with Java. Any advice?(Stuff you wish you knew when you started etc)



Go get bluej. Run. Go get it now. It's free and works on every platform. Feel free to message me if you need help starting out, I can help with basics.


----------



## Lazy Einstein (Oct 22, 2014)

Neat. A IDE developed for beginners. I will check it out. I have Netbeans but it looks a little to dynamic for starting out.


----------



## Stefan (Oct 22, 2014)

Lazy Einstein said:


> I am going to start learning how to code. I have chose to begin with Java. Any advice?(Stuff you wish you knew when you started etc)



Don't do Java. Do Python.


----------



## kcl (Oct 22, 2014)

Stefan said:


> Don't do Java. Do Python.



I disagree. Java gives you a solid footing to move on to things like Objective C or C++, and allows you to do application development that works on any plant form. Python may be easier to learn initially, but Java gives you a far better knowledge of working with static variables and formatting for the other languages mentioned.

Once you have a solid handle on Java, learning something like c++ is nearly the same except for some small details.


----------



## Stefan (Oct 23, 2014)

kclejeune said:


> Java gives you a solid footing to move on to things like Objective C or C++



And Python doesn't?
Also, I'm not sure that's desirable.



kclejeune said:


> and allows you to do application development that works on any plant form.



And Python doesn't?
Also, _"plant form"_? 



kclejeune said:


> Python may be easier to learn initially



It's not about easier initial learning, it's that Python is sooooo much nicer. I've been using both Java and Python (and some other languages) for years and consider myself a good coder and I absolutely despise Java and love Python now.

Out of curiosity: How much experience do you have with Java and how much with Python?



kclejeune said:


> Java gives you a far better knowledge of working with static variables and formatting for the other languages mentioned.



Do you really mean static variables, not static typing?
If you mean static typing... that's a major reason I despise Java.
What do you mean with formatting?



kclejeune said:


> Once you have a solid handle on Java, learning something like c++ is nearly the same except for some small details.



Yeah it's probably easier to go from one sucky language to another (note: I don't despise C++ and occasionally use it when I need something very fast). But I disagree anyway. The *syntax* is more similar between those languages, but coding is not about syntax. Concepts are more important, and Java drags you down with annoying formalities and restrictions and just makes everything a hassle, obstructing the actual coding. And it's missing essential nice things (last I checked). I believe Python makes you a better coder.


----------



## kcl (Oct 23, 2014)

Stefan said:


> And Python doesn't?
> Also, I'm not sure that's desirable.
> 
> 
> ...



1. It's definitely true. Python formatting is unlike any other language. This is advantageous for learning purposes, but makes transitioning to other languages (C, Java, etc) more difficult. In an ideal world we just learn all of them, but that isn't always possible. 

2. I clearly meant plant form 
In all seriousness, Java is found everywhere. Literally. It's the main language for android development and is simply incredibly versatile. 
Python is definitely versatile, but Java wins by a mile here. It's so common that just about any OS will run the Java virtual machine, and the vast majority already have it installed. With Python, you have to run your code in a compiler in order for the OS to understand it. 

3. I agree on this, Python is much nicer looking code. That being said, Java isn't really bad Imo. I wouldn't consider myself really good at either of them, but I definitely understand the differences of each. I'd say I know enough about both to be dangerous. 

4. Static typing  'twas quite tired when writing this. While Dynamic typing is easier to pick up and may be more convenient at first, in my experience it's much easier to find your errors with static. I really should have said syntax, but once again I was half dead while typing this. Essentially, like I said, lots of languages are similar to Java with key differences. An experienced Java programmer could in theory pick up the new language much faster. 

5. It's not because they both suck. If Java were a bad language I doubt it would be the most widely used. And yes, syntax definitely matters. If you don't understand the syntax you can't write the code in the first place. Annoying details in Java are made easy with a good IDE like eclipse, or if you're just learning, bluej. 

What about Python makes you a better coder? In my opinion, some of those annoying things aren't so bad once you're used to them.


I found this post interesting, let me know what you think of it. 
http://javarevisited.blogspot.com/2013/04/10-reasons-to-learn-java-programming.html?m=1


----------



## PJKCuber (Oct 23, 2014)

Lazy Einstein said:


> I am going to start learning how to code. I have chose to begin with Java. Any advice?(Stuff you wish you knew when you started etc)



I would recommend C because it is like C++ and C++ is kinda like Java. In this way you can learn 3 languages without it being too hard. C helps to develop logic. I know you won't believe me but I have used HTML,CSS,C,C++,Python,Ruby,Javascript and I am currently revising on C


----------



## Stefan (Oct 23, 2014)

I really never should get into stuff like this, but ok, one more round.



kclejeune said:


> 1. It's definitely true. Python formatting is unlike any other language. This is advantageous for learning purposes, but makes transitioning to other languages (C, Java, etc) more difficult. In an ideal world we just learn all of them, but that isn't always possible.



It's like you *should* be formatting in any other language *anyway*. Encourages good style and makes it easier to read other people's code. It's not just advantageous for learning, it's advantageous, period. And again, that's a syntax issue. Do you think adding curly braces or being sloppy or inconsistent is hard to learn or important? Again, actual coding concepts are more important.



kclejeune said:


> 2. I clearly meant plant form
> In all seriousness, Java is found everywhere. Literally. It's the main language for android development and is simply incredibly versatile.
> Python is definitely versatile, but Java wins by a mile here. It's so common that just about any OS will run the Java virtual machine, and the vast majority already have it installed.



Same with Python.



kclejeune said:


> With Python, you have to run your code in a compiler in order for the OS to understand it.



This alone makes me doubt you actually ever tried Python. Python can be interpreted, compiled to bytecode for a virtual machine (like Java), compiled to other langues (including Java!), or compiled for the OS. But a beginner typically starts with interpretation, hence my doubt that you actually ever tried it, or else you'd know.



kclejeune said:


> 3. I agree on this, Python is much nicer looking code. That being said, Java isn't really bad Imo.



Depends on what you do. For me, Java goes from "acceptable" to "makes me want to scream".



kclejeune said:


> I'd say I know enough about both to be dangerous.



"dangerous"? Rule of thumb: wannabe-speak won't make me take you *more* seriously.



kclejeune said:


> 4. [...] in my experience it's much easier to find your errors with static.



Not my experience, but ok.



kclejeune said:


> An experienced Java programmer could in theory pick up the new language much faster.



I disagree.



kclejeune said:


> 5. [...] If Java were a bad language I doubt it would be the most widely used.



Eat ****, millions of flies can't be wrong. Also, [citation needed].



kclejeune said:


> And yes, syntax definitely matters. If you don't understand the syntax you can't write the code in the first place.



Yes, of course, and I didn't say you don't need to understand it. What I meant was that yes, Java and let's say C++ look similar, but learning a new syntax isn't hard or important. Learning concepts is harder and more important.



kclejeune said:


> Annoying details in Java are made easy with a good IDE like eclipse, or if you're just learning, bluej.



Not sure what you mean with "made easy", but doesn't sound like they're hidden from my screen so they don't annoy the hell out of me. Haven't tried bluej and haven't used eclipse much/lately, though, so I don't know.



kclejeune said:


> What about Python makes you a better coder?



Python lets you write elegant code. Plus elegance inspires elegance (I think/hope). And it's not just the syntax but the way it lets you do things. A major factor is that lists/sets/dictionaries/tuples are really basic data types in Python *and* that Python lets you work with them very naturally. A while back I wrote something in Java with nested data structures and it was utterly painful and ugly. I then did it in Python and it was beautiful. That day I started hating Java.

There's much more beauty than that list/etc handling, though. I have since learned much more Python and it still occasionally surprised me with more elegance that I didn't know and then think _"Of course! That is so much better (than what I learned from other languages)! It's how it *should* be!"_.



kclejeune said:


> I found this post interesting, let me know what you think of it.
> http://javarevisited.blogspot.com/2013/04/10-reasons-to-learn-java-programming.html?m=1



Decent 10 reasons, too bad they apply to Python as well, if not better. So it's very surprising that he doesn't even mention Python.

Well, he does mention it here:
http://javarevisited.blogspot.de/20...hich-programming-laungage-to-learn-first.html
But I again get the feeling that he doesn't really know Python, partly because he's endorsing that awful moronic infographic that literally made me scream out loud in a mix of agony, disgust and disbelief.


----------



## kcl (Oct 23, 2014)

Well, you make a good case so I'll just agree to disagree.


----------

