I have zero experience with coding and I am wanting to begin learning. I want to create a project as I learn and need help in deciding which language is appropriate for what I am thinking about creating.
The application I have in mind is to search a pre-existing website that lists first and last names throughout multiple pages and run each of the names through another website utilizing its search funtions to see if any matches are found. If any matches are found I would like to be notified. This is just something I thought of when thinking about what I want my first project to be to make my daily job easier and less tedious. The process would not be something that is constantly running but one that I can run whenever I choose to see if any results are found with the current names. Any insight would be great on what programming language would be best for something like this.
This is of course an opinionated answer but I'd recommend python, because its:
- very easy to learn
- easy to setup
- has awesome web scraping library
Related
I'm really interested in some sort of program that allows me to highlight quotations from books and automatically formulates flashcards, questions, etc.
The time-consuming process of creating Anki flashcards makes it basically not worth if you're trying to remember massive amounts of information and if there aren't pre-made flashcards. Anki's great for university but I'm aiming to remember large amounts of academic information outside of my basic university course.
Web scraping scripts are great for getting basic, well-presented information (I, for example, created 7,000 Anki flashcards of French verb conjugation using a script which worked magnificently), but I'm basically looking for a fast way to put information in, have it sort statistics and basic phrases from the text and formulate questions. This is a pretty complex task I assume -- but I wonder whether some higher-level information learning platform like Wolfram-Alpha might work for programming such a thing?
I don't really know -- I'm not a coder. Just someone looking to learn massive amounts of information and automate the process.
Any solutions, recommendations, etc?
Thanks
A few words about creating content in Anki
You have to consider that creating notes with Anki is a skill, and as all skills, the more you do it, the better you become at it.
For this reason, a workflow that works well when you are trying to learn a lot of things that you can't simply scrape from somewhere is to add them by hand, and when you realize you're doing a repetitive task, create a script to automate it.
This is easier and more efficient than a general-purpose solution to automatically generate cards because such a solution does not exists: it's easy to write a script that targets a single repetitive process (even if it's only for a few hundred notes), and make one each time you feel you are doing a tedious, repetitive work, but it's very hard to make a full-featured script that works for everything.
Even if you don't know how to code, you can still go on the Anki forum and ask for help: people will happily do so. However, it would be easier if you learnt how to code. For instance, you could learn the basics of Python, which is a very easy-to-learn programming language, which is also very handy for automation scripts and which is used to write Anki add-ons.
Wolfram
Regarding Wolfram-Alpha: I am not an expert about it, but it's just a computer algebra program. Yes, it has been "pimped" with some (quite limited) natural language recognition, and its database also includes non-math content, but it's still just a symbolic computation program. It's not what you are looking for.
Incremental reading
However, I have the impression that what you are looking for is a way to process a lot of text, extract information out of it and create notes that make you learn it. This process is called incremental reading, and here is an article that explains what it is in details. There is an Anki add-on that will help you with that task in Anki. It's clearly not fully automated, far from it, but you can really process several thousands of articles with it.
This question is about process / approach, more so than how to write the code itself. I'm a process learner, so this is the part that's creating personal anxiety for me.
I am very much a beginner, and still learning about importing libraries and the like. I have an idea for what I'd like to be able to do, for a Capstone Project, as I learn, however.
I have a spreadsheet that I use each Sprint as par of our Capacity Planning process. I want to use Python to query target tickets in our client's GitHub (while logged in) account, and our Jira account, to pull specific data into the cells that I currently populate manually. Others have expressed interest in seeing what I come up with, as they use the same Google sheets template similarly.
From Sheets for Developers > API v4, through trial and error, I should be able to figure out how to generally import data into Google Sheets. Likewise, this GoTrained Python Tutorial looks like it has an approach for obtaining information from GitHub API. I'm fairly certain that I can find similar for Jira (though the first site that I tried wanted to use a fake "captcha" script to trick me into accepting notifications from the site, which was a red flag, to me).
But which are the quality, most efficient approaches? Especially for a starting out Python beginner, like myself? The last time I coded was 15-20 years ago, using LPC to build rooms/mobs/objects on a MU*, accessed via Telnet protocol.
I need to learn more about how to set up the program, and which libraries might be useful; and the best way - after decomposition - to identify the components and which methods to use, generally, in solving for the project goal:
import select field data from Jira and GitHub to a Sheet, using Python
how do I know which libraries are best to import, like Tkinter, for functions that I will need (this one came up in search for creating dropdown lists in Python, so that the Repo names can be standardized).
seeing lots of references to REST-api, but we haven't talked about that in course yet
what are some quality resources to learn more about principles that I should understand better before attempting this project?
w3schools.com is on my radar, but it is also extensive -- not sure if there are resources honed in on this type of "challenge"
I have a daily task of filling out some web forms manually (approximately 25 at a time) using a combination of autofill, copy and paste and lots of ctrl + tab. I'm wondering if it would be worth my while learning how to automate this. I've done some coding a few years ago but I'm very rusty. I've got no idea what language would be best but I'm thinking maybe python? Is this something a very inexperienced coder could pick up?
If you are actually interested in learning, it shouldn't be too hard to get started with this.
Python is a good start because there are a lot of libraries that can make tasks like reading from an excel/csv file possible in a few lines of code. For browser automation there is a project called Selenium quoting from their website
Primarily, it is for automating web applications for testing purposes, but is certainly not limited to just that. Boring web-based administration tasks can (and should!) be automated as well.
For that they provide libraries for multiple languages(including python) which lets you automate actions in your actual browser window.
You could take a look at their docs and see from there if you think this makes it easy enough to automate your tasks.
https://www.seleniumhq.org/docs/03_webdriver.jsp#introducing-webdriver
Hey guys, I'm very excited about how experienced I am in programming.
The first, working program that I have written, was in 2004 with C. Since this I have tried many programming languages, now got stuck with php. Currently I'm working as a web-developer, and everyones pleased with the work I do. Except me :) Thats the reason why i want to know, how high my experience and my knowledge is.
Could you tell me, some tips, tricks, test, or anything, on what I can see how much I need to learn and practice to get a mastermind in programming? (at first place in php)
I'm also a programmer who doesn't like to stagnate, so perhaps I can offer a few tips:
1) What's your weakest area? Networking? Graphics? Regex? What is the one area that if someone asked you "I need a program that can do X" and that X scares you what is it. Now study as much as you can on that subject. Hack out a few prototypes and make it so that you understand it allot better. I used to hate Regex commands, now I use them whenever I can.
2) Study "different" languages. I'd recommend learning a "functional" language such as Erlang, Lisp, or perhaps certain aspects of Python. Get a book on "functional programming" and read it through, and then think how you can apply these concepts to your current work. Start using map() and filter() in python instead of for loops, etc.
3) If you're doing web programming, get yourself a massive set of data and start doing some number crunching. A while back I was playing EVE Online, so I fired up SQL Server Express and hacked out some market analysis routines in it. It was around 4 GB of data the server crunched through, but I learned allot about SQL Server in the mean time.
I recently was watching a lecture on Lisp and the Professor said: "Computer Science is not about computers and not about science. It's about knowledge, and how to manipulate that knowledge to obtain more knowledge" So true, so the more tools you have for manipulating and gaining knowledge, the better programmer you'll be.
Start a new programming project and take your time to make every single aspect of it as good as possible.
Use git or Mercurial for source control. Use submodules (or whatever the Mercurial equivalent is) to manage external frameworks. Set up post-commit hooks to run your unit tests and zip up your executable. Use new branches for everything and do octopus-merges to get them all back into a single branch.
Script everything you do. Deploying a new version of your app (including website updates!) should be as simple as running a single script.
Make your app 100% localized. Deploying in a new language should be as easy as sending a strings file out to a volunteer to get translated, then popping that translated file into your source code, no additional work needed.
Optimize, optimize, optimize. Spend the extra week to make your app load 100ms faster.
Refactor, refactor, refactor. Don't just go for orthogonality and abstraction, aim for pure code beauty. Using your classes should be like using Duplo blocks, they just snap into place with not an error in sight.
Unit test everything. 100% coverage. Don't let a single regression go unannounced. Automate the entire test suite so that you can't promote your code without all the tests passing.
Put your app in the cloud. If you're writing something for the desktop or a mobile device, give your users a way to sync their data to a website. Write that website. If your project is web-based, give your users a mobile or desktop front-end to access their accounts.
Accessibility. Handicapped users should be thrilled with the care you put into designing your app.
Keep in mind that if you do everything I listed here, you'll never ship, but you'll be a well-rounded a developer, an asset to most any team.
I need to find figures that show how many programmers world wide, has each of the following languages as their primary programming language.
C
C++
C#
Object-C
Java
JavaScript
VB.NET
VB6 (or older)
VBA
PHP
flash scripts
Ruby
Does anyone know of such comparison figures?
If not. Do you know of a good way to research this?
I could compare the number of tags here at stackoverflow and the number of articles for each language at sites like codeproject. This would give me a good idea.
But if you can suggest other ideas how to find these numbers I will be greatfull.
/Thomas
A very common site that does this is the TIOBE index. It basically searches for programming languages in major search engines and compares the results, and it shows you some history. The only problem is that C/C++/C# are not distinguished very well, therefore C is more dominant than you'd expect (not to mention that search results include many pages where many languages are listed, like programming FAQs). But in general, TIOBE gives a good idea, I think, and it should get better, since at least Google tends to know the difference between zero, two or four pluses.
Have you tried TIOBE index?
In general this is hard to measure because every approach has a lot of drawbacks.
TIOBE and others that are based on search results e.g. do not tell anything of what is actually used but just what is highly ranked by google (You can even see that just Google changing a bit of their results in 2004/2005 completely mixed TIOBE). And moreover they have the problem that lots of search-terms are ambiguous (Like Java which IS also an island, Ruby which also exists as gem, Python which is a snake and others which have alternative meaning). Another problem with search based is that most things put into the web stay up forever which means it is irrelevant if it is CURRENTLY interesting. If a C resource was put up in 2002 it likely still is available today (which hugely overrates leading or older languages.)
Here one is an interesting approach based on the number of book sales. (This at least eliminates the ambigous problem, but comes with others.)
Wikipedia also has a small article about the topic.
Try Google trends (see an example). In addition, check sites like freshmeat.net and note the number of projects in each language. That's only open source projects and many people will use a different language for their hobby projects than at work (i.e. one that sucks less).
Next, look for sites which offer job openings. I don't have a good link handy but this Google query should get your started.
not yet!!!!!!!
That's only open source projects and many people will use a different language for their hobby projects than at work (i.e. one that sucks less).
Next, look for sites which offer job openings. I don't have a good link handy but this Google query should get your started.