Thought we could do with a Programming thread seeing as though there's a fair few on here who code.
Useful websites:
https://www.codecademy.com
https://www.thinkful.com
https://www.khanacademy.org
http://learnpythonthehardway.org/book/
http://freecodecamp.com
Useful websites:
https://www.codecademy.com
https://www.thinkful.com
https://www.khanacademy.org
http://learnpythonthehardway.org/book/
http://freecodecamp.com
Nice! I've been wanting to keep an active programming culture on here for a while.
Kibner, Jesal, where are you at?
Kibner, Jesal, where are you at?
Windows devs, rejoice:
PowerShell is open sourced and is available on Linux
PowerShell is open sourced and is available on Linux
Today’s customers live in a multi-platform, multi-cloud, multi-OS world – that’s just reality. This world brings new challenges and customers need tools to make everything work together. Microsoft is working company-wide to deliver management tools that empower customers to manage any platform, from anywhere, on any device, using Linux or Windows. This shift to a more open, customer-obsessed approach to deliver innovation is one of the things that makes me most excited to come to work every day.https://azure.microsoft.com/en-us/blog/powershell-is-open-sourced-and-is-available-on-linux/
If you guys have any women in your life thinking about going into programming, please encourage them. The representation in this field used to approach 50/50 but fell off in the 80s and is only very recently starting to slowly recover.
I am proud to say that my work's SF office is officially 50% men:women engineers as of two weeks ago. So totally agree with Kibner, the more diversified our field can get the better our society becomes.
The best ratio I have ever worked with has been 1:4, which is about average in the industry, iirc.. :(
I am partial to pointing people to https://code.org/learn when they are interested in learning the very basics of what it means to program. It is mainly made for younger children to understand but I still hold that it is a good introduction for anyone. I like how it tends to focus on how programming logic works as opposed to trying to teach a language and logic at the same time.
That's like, the best real life learning tool I can imagine. Every big CS school should be building one of those.
By Apollo Go To PostThis thread is like an alien language to me.If you want to learn, the site I linked before is great for the basics of basics (https://code.org/learn). Please ask questions!
Be glad you are learning modern JavaScript. It does require a different thought process than Java (functional vs objective) and that can be difficult. Learning what an IIFE is and how to use them is very important.
Which SQL flavor are you using? The syntax can be quite different depending.
Which SQL flavor are you using? The syntax can be quite different depending.
I'd recommend this for learning web/JS. Best resource I've found and the teacher whose a friend of mine is the main reason why I'm employable at least as a junior dev. And to note I'm a completely self taught dev without a degree or bootcamp and I've been at it for a year.
https://watchandcode.com/courses/practical-javascript
https://watchandcode.com/courses/practical-javascript
My guess from what Kuma described is his work environment is using them all. So he should be decent enough already.
By reilo Go To PostPython > Javascript > Ruby > Java imoAre you ranking or saying order.
PostgreSQL > MySQL/MSSQL/OracleDB
https://www.humblebundle.com/books/joy-of-coding-book-bundle
some pretty good books in here, although some of them are available for free
some pretty good books in here, although some of them are available for free
Here is a thing I was working on for a bit a few months ago: Site | Source
It is a tool for a tabletop RPG to help with figuring out what special abilities a character qualifies for based on their stats. It was something my group could use but was mainly a way for me to get comfortable with the JetBrains IntelliJ IDEA IDE and learn about the Google Web Starter Kit.
e: There are additions I want to make, but I need to go back and refactor it a bit first. I was trying different things in javascript that I hadn't done before and they could use some cleaning up. Also, I need to decouple and split the functionality into more source files to make things easier to understand and work through. That single javascript file is doing too much.
It is a tool for a tabletop RPG to help with figuring out what special abilities a character qualifies for based on their stats. It was something my group could use but was mainly a way for me to get comfortable with the JetBrains IntelliJ IDEA IDE and learn about the Google Web Starter Kit.
e: There are additions I want to make, but I need to go back and refactor it a bit first. I was trying different things in javascript that I hadn't done before and they could use some cleaning up. Also, I need to decouple and split the functionality into more source files to make things easier to understand and work through. That single javascript file is doing too much.
By giririsss Go To PostAre you ranking or saying order.Ranking.
By Kibner Go To PostBe glad you are learning modern JavaScript. It does require a different thought process than Java (functional vs objective) and that can be difficult. Learning what an IIFE is and how to use them is very important.
Which SQL flavor are you using? The syntax can be quite different depending.
Just learning the basics. Trying to be a programmer by the end of the year.
By Kuma Go To PostJust learning the basics. Trying to be a programmer by the end of the year.For javascript, I feel the key points would be learning what functional programming is, the event propagation system, and the previously mentioned IIFE structure. Being able to understand and work with those will mean you have a good knowledge base for how the language works. It will also make you more competent than like 95% of the people who write javascript.
Functional programming is a real skill to learn. There's many languages you can learn it with, too, it doesn't need to be Javascript. Python, Haskell, etc.
Also, for Javascript, http://nodeschool.io/ is a good one because it has a lot of "core concept" classes, including a Functional Javascript class.
I'd also argue that a core competency of any good dev is knowing how to master the terminal, and yes, including a straight up text editor like vim, because chances are you'll have to do dev ops one day on a server and you can't rely on an easily accessible text editor to make changes. http://vim-adventures.com/ is a good and fun little site for learning vim.
Also, for Javascript, http://nodeschool.io/ is a good one because it has a lot of "core concept" classes, including a Functional Javascript class.
I'd also argue that a core competency of any good dev is knowing how to master the terminal, and yes, including a straight up text editor like vim, because chances are you'll have to do dev ops one day on a server and you can't rely on an easily accessible text editor to make changes. http://vim-adventures.com/ is a good and fun little site for learning vim.
I need to sit down and learn more of Python than I did in taking some college class nearly ten years ago.
I learned EMACS on my own back then. It was a fun little editor to mess around with. Of course, I also have a fascination with the LISP language.
I learned EMACS on my own back then. It was a fun little editor to mess around with. Of course, I also have a fascination with the LISP language.
By giririsss Go To PostOh.Why?
LMAO then.
I'd tell you, like most university courses do. to learn a good OO language before spending too much time in a straight up functional language.
Because you can do everything a functional language can in an OO language. And then you learn good practices about OO programming to boot.
There's also something to be said for learning with strongly typed languages, and compiled languages.
That said, you'll find most people who aren't learning in a structured environment find this burdensome because there is setup to do before hand, and learning some core concepts / principals before getting to even your first Hello World.
There's also the part where a lot of the really cool features of a full featured language like C#/Java... you'll never use. Like closures.
I'm not against learning javascript first. It's ok. But most people learn it badly. And struggle to pick up other languages and other programming concepts. I like javascript as a language. It's cool, there's lots of nifty things you can do with it. Certainly worthwhile learning.
Reilo's right in that there is value in learning to use some text based editors. But... really that's far down the line. About the same time that you start running your first ubuntu box or the like. Getting started i wouldn't worry too much about it.
Really, pick your language, pick a course. And learn it ALL the way through. That's more important than what ever language/style you do actually pick.
Because you can do everything a functional language can in an OO language. And then you learn good practices about OO programming to boot.
There's also something to be said for learning with strongly typed languages, and compiled languages.
That said, you'll find most people who aren't learning in a structured environment find this burdensome because there is setup to do before hand, and learning some core concepts / principals before getting to even your first Hello World.
There's also the part where a lot of the really cool features of a full featured language like C#/Java... you'll never use. Like closures.
I'm not against learning javascript first. It's ok. But most people learn it badly. And struggle to pick up other languages and other programming concepts. I like javascript as a language. It's cool, there's lots of nifty things you can do with it. Certainly worthwhile learning.
Reilo's right in that there is value in learning to use some text based editors. But... really that's far down the line. About the same time that you start running your first ubuntu box or the like. Getting started i wouldn't worry too much about it.
Really, pick your language, pick a course. And learn it ALL the way through. That's more important than what ever language/style you do actually pick.
I don't disagree. Not sure how you concluded that's what I was alluding to from my preferences list.
I think people getting into programming would have an easier/better time with something like Python than the giant learning curve that is Java and it's over reliance on IDEs to make it productive.
Hell, MIT used to teach you Scheme/Lisp to start with in Structures and Interpretations of Computer Programming. MIT now introduces students to programming with Python FYI.
Java isn't a language you wanna start out with imo. Neither is JavaScript but for different reasons.
I think people getting into programming would have an easier/better time with something like Python than the giant learning curve that is Java and it's over reliance on IDEs to make it productive.
Hell, MIT used to teach you Scheme/Lisp to start with in Structures and Interpretations of Computer Programming. MIT now introduces students to programming with Python FYI.
Java isn't a language you wanna start out with imo. Neither is JavaScript but for different reasons.
By reilo Go To PostI don't disagree. Not sure how you concluded that's what I was alluding to from my preferences list.
I think people getting into programming would have an easier/better time with something like Python than the giant learning curve that is Java and it's over reliance on IDEs to make it productive.
Hell, MIT used to teach you Scheme/Lisp to start with in Structures and Interpretations of Computer Programming. MIT now introduces students to programming with Python FYI.
Java isn't a language you wanna start out with imo. Neither is JavaScript but for different reasons.
Odd. Every university here just gets straight to it with C# / Java (You can basically swap C# for Java anywhere in this conversation since they've spent the last decade copying off of each other).
That i know of anyway.
By reilo Go To PostHarvard teaches C, Javascript, and PHP (shudder).That's an eclectic stack....
Are they teaching it more as CS or SE? I'd assume CS if they're staying with straight C.
my uni taught us c/c++ (for ee tho) and it was so tedious but then I discovered javascript and I found joy
The first two comp sci classes at my uni were done in Java. Every class after that was "choose your own language".
Oh, except AI. We had to learn LISP for that. I love LISP. Or the concept of it, anyway. So many parentheses.
Oh, except AI. We had to learn LISP for that. I love LISP. Or the concept of it, anyway. So many parentheses.
Kibner did you major in Comp Sci?
I majored in MIS, which is a mixture of business and programming classes. Best of both worlds. I love the thought of programming, but I get intimidated thinking of what to do. When I was in school I had to take Java, Javascript, a SQL class, and one other that I'm forgetting. I'm now into Linux and want to learn some kind of language that pairs nicely with that, but it's all overwhelming.
I majored in MIS, which is a mixture of business and programming classes. Best of both worlds. I love the thought of programming, but I get intimidated thinking of what to do. When I was in school I had to take Java, Javascript, a SQL class, and one other that I'm forgetting. I'm now into Linux and want to learn some kind of language that pairs nicely with that, but it's all overwhelming.
The trick with programming is to take it step by step. Don't let the whole picture crush you. Finish your subject / course / class. Then go on to the next one.
Otherwise, yeah, it's incredibly overwhelming.
Otherwise, yeah, it's incredibly overwhelming.
By ReRixo Go To Postmy uni taught us c/c++ (for ee tho) and it was so tedious but then I discovered javascript and I found joyYeah, that's very common for EE / MEE
Anyone contribute to open source?. Been scouring Github for any projects I can find with issues I can potentially handle. I've been looking to make more contributions to improve my resume and because I just like helping out with open source in anyway I can. I've made like 9 contributions so far including 6 to FreeCodeCamp. Though ironically I learned how to contribute to FreeCodeCamp from other sources lol.
If you want to take a stab at game development, there is always the Unreal project!
Note: it is massive and can be very difficult to wrap your head around but it's worth poking around in.
Note: it is massive and can be very difficult to wrap your head around but it's worth poking around in.
Alright so programming gurus , recommend me a good language that I can use to get back I to programming. I mentioned that I had to take some classes in college, so the basic concepts are still with me (I think). Has Nelo posted in here? I know he was in the self teach grind for a long time.
By Smokey Go To PostAlright so programming gurus , recommend me a good language that I can use to get back I to programming. I mentioned that I had to take some classes in college, so the basic concepts are still with me (I think). Has Nelo posted in here? I know he was in the self teach grind for a long time.Like Reilo has mentioned a couple times, Python is probably a good place to start. Especially since it enforces some good aspects of code style. It has been around for a while so it has lots of support.
The best thing to do when learning or trying to improve is finding something that interests you and making it (or at least, attempting to). It is the best way to stay motivated and will also give you a goal to aim for. It can be something like a way to automate something you and/or your friends do manually (like that character ability pre-requisite checker I linked above) or developing an AI to play against in some game (could even be a board game).
If you like math, Project Euler is a good way to develop and implement algorithms in a performant way. There's also CodinGame to build up some skills.
By Smokey Go To PostKibner did you major in Comp Sci?Forgot to answer this earlier, but yeah. I also went for the scientific concentration as opposed to business. Ending up being a class short in each from minoring in math and music but I had been in school for five years and just wanted to graduate.
I also knew literally nothing about programming before I went to college. Just knew I liked building things and loved messing with computers. Thankfully, I ended up loving the profession. You always have to learn new things. Have to become a subject matter expert for whatever project you are working on in addition to learning new technologies, techniques, and methodologies.
I echo Kibner's suggestion, obviously.
Nelo, SLAENT will hopefully be open source in the near future. I'll make sure to get that going since its been a goal of ours from day one.
Nelo, SLAENT will hopefully be open source in the near future. I'll make sure to get that going since its been a goal of ours from day one.
Well I've always liked programming but never really made a go for it. I have courses in Matlab and it's fun although frustrating. Was going to ask what language is a good start and I see Python is it.
By rossonero Go To PostWell I've always liked programming but never really made a go for it. I have courses in Matlab and it's fun although frustrating. Was going to ask what language is a good start and I see Python is it.Matlab is nothing like real programming although it might be good when you do some round-robin or other algorithm that is supposed to be more logarithm like.
Python is a good start though I advocate Ruby more, either way, any dynamic language instead of a static one is the preferable way anyway :)
By batong Go To PostMatlab is nothing like real programming although it might be good when you do some round-robin or other algorithm that is supposed to be more logarithm like.Oh yeah I know, I just meant that it has thought me at least a little about functions, loops and so on.
Python is a good start though I advocate Ruby more, either way, any dynamic language instead of a static one is the preferable way anyway :)
I'll check out Ruby as well, I have access to a Pluralsight account and they have courses for both languages.
I'm not a huge fan of Ruby. It's a bit obfuscating in its syntax and sometimes backwards in how you should write it. Gems are nice though. Rails is... Rails. Ruby kind of has a love affair with Rails and I wish it would stand alone more as its own language.
By Smokey Go To PostAlright so programming gurus , recommend me a good language that I can use to get back I to programming. I mentioned that I had to take some classes in college, so the basic concepts are still with me (I think). Has Nelo posted in here? I know he was in the self teach grind for a long time.Right here!. I'm finally at the point of being employable now. Been hustling like crazy and if there's one thing I've been great at, it's been networking. So really gonna start applying for jobs at the end the month/September since I've heard from friends and directly from heads of engineering recruiting that they will be hiring around that time frame.
Also I mentioned this in an earlier post but I highly recommend my friend's course and I don't just recommend it because the teacher is a friend. He's honestly the main reason I'm competent in JS and Angular. And due to that I've been able to pick up React and I will be doing a lightning talk at another friend's meetup about Angular and React sometime in the next month or 2.
https://watchandcode.com/courses/practical-javascript
By reilo Go To PostI echo Kibner's suggestion, obviously.Awesome, wold love to help out in anyway I can. My JS skills are finally at a point of being useful to projects lol, well at least what I would consider noob issues. Still know jack shit about algorithms since I've yet to find a good source to learn them though I will be checking out some local meetups that specifically focus on teaching them soon.
Nelo, SLAENT will hopefully be open source in the near future. I'll make sure to get that going since its been a goal of ours from day one.
Oh, so you want to learn how to design computer algorithms? Come listen to my friend Donald Knuth.
This particular book can be hard to approach, but it does teach you how to develop and analyze algorithms.
Knuth is also just a cool dude who came up with his own typesetting software to write this and other books since there was nothing able to notate formulas and such the way he wanted at the time. It was called TeX.
There is a public derivative of it called LaTeX which is quite good. If you ever need to write a scientific paper, it's amazingly useful. It does all kind of things like taking care of spacing, paging, and optimal places for figures. If you build things right, it will also create a table of contents, bibliography, and index for you with page numbers that are always correct. A plug-in will let you print as pdf which can then turn references into links do that things like the ToC and index work as expected electronically.
This particular book can be hard to approach, but it does teach you how to develop and analyze algorithms.
Knuth is also just a cool dude who came up with his own typesetting software to write this and other books since there was nothing able to notate formulas and such the way he wanted at the time. It was called TeX.
There is a public derivative of it called LaTeX which is quite good. If you ever need to write a scientific paper, it's amazingly useful. It does all kind of things like taking care of spacing, paging, and optimal places for figures. If you build things right, it will also create a table of contents, bibliography, and index for you with page numbers that are always correct. A plug-in will let you print as pdf which can then turn references into links do that things like the ToC and index work as expected electronically.