Click here to Skip to main content
15,881,600 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
I have been considering which programming/scripting languages to learn for a long time and finally decided to sketch out what exactly I want to accomplish. I know HTML and am not looking to become an IT professional. My hope is to be able to do most of what's below with the fewest, easiest to learn, simplest languages. Any advice?


Category I: Google Drive API for reading and writing to user databases and websites:

• Create a website with user accounts (I’m not compelled to build from scratch)
• Retain and update user account information that I can manually modify.
• Take the user’s input submitted from a website form and use it to update financial and tracking data contained in several different Google Sheets documents.
• At the click of a button, duplicate a Google Drive folder (including contents and permissions) and place it in a new location under a new user-provided folder name.
• Modify a website template so that it shows, or doesn’t show, certain modules based on the access group of a user who is logged in
• Lookup and display specific strings and numbers from a Google Sheets file on an HTML website, locating the source document/tab/cell based on the username who is logged in.
• Write all activity to time-stamped log that could be referenced for auditing site activity. This would track form submissions, login attempts, and IPs linked to an account.
• Interact with data contained in any standardized API, and create a new API.


Category II: Enabling Excel VBA or EXE files to write to Microsoft Office documents:

• Create an executable file that opens in a passable (i.e. non-command line) user interface where the user can type into multiple parts of a form and click on buttons to indicate their choice in a workflow.
• Create and modify an if/then or approvals-based workflow outside of the coding environment so that a non-technical layperson could make changes later.
• Allow the user to change the settings of the program in the executable file itself.
• Import data from specific cells in Excel documents stored in a specified folder by searching the first characters of the file/folder name.
• Duplicate a set of template documents and place them in a new folder under a standardized naming convention, modifying parts of those documents using user inputs.
• Open an email in Outlook populated with language and formatting from a Microsoft Word document, with defined variables replaced by user and database-generated inputs.
• Create a database that automatically updates itself and reports to PDF at a set interval.
Posted
Comments
Member 11526163 15-Mar-15 7:39am    
Still looking for answers beyond the two below. I'm asking about specific languages that will be the easiest to learn to accomplish the tasks above. Please relate what's asked to what's written.

This is always a subjective thing, but I'd suggest you go with C# - it will do all of that, and more: and it's strongly typed (which means it doesn't make any assumptions for you - so if it compiles it's less likely to do "something funny" than a weakly typed language like VB).

There is a learning curve, and it can be quite steep - but what you want to do is quite complex, so whatever language you start with will come with a learning curve.

I'd suggest you find a book - anything without "...in XXX days", "for dummies", or multiple exclamation marks in the title is probably OK, but Addison-Wesley and Wrox both do very good ones - and follow it from beginning to end, doing all the exercises. Or find a local course and get a tutor thrown in as well! :laugh:

The really, really important things are (regardless of language):

1) Don't try to learn "by doing it" or "by looking at code" - they both mean you end up not knowing why something works, or missing out huge chunks of understanding that would simplify later stuff.
2) Don't expect to start out writing the software you list above: you need to get the basics right first. You can't start building a car for your first moving vehicle and expect it to win F1 races! :laugh:

Stick to it, and you'll get a lot of satisfaction!
 
Share this answer
 
Comments
Member 11526163 15-Mar-15 7:35am    
I'm specifically looking for a language that does not have a steep learning curve and is best equipped to accomplish what's above. Not looking for a general IT education.
OriginalGriff 15-Mar-15 7:58am    
I know you are - but that doesn't mean you will find one!
What you want to do is complicated - so it needs a complicated framework in order to support it, and you need to learn the framework in order to do what you want.

Think of it this way: to use an application is as simple as driving a car.
But behind the car is a massive framework of car designers, parts manufacturers, fuel refineries, distribution facilities, legal compliance monitors, and road builders!

To "invent" a new car, you have to work with the framework so that the end user can just get in, start the engine, and drive down to the shops! :laugh:
Member 11526163 15-Mar-15 8:01am    
A more helpful response than lecturing me about learning how to build a car would be to evaluate different commonly taught languages and to discuss why you think that C# would specifically be better suited to specific properties described above as opposed to a C/C++ or Visual Basic or Java.
OriginalGriff 15-Mar-15 8:15am    
That isn't what you asked for: "I'm specifically looking for a language that does not have a steep learning curve"

All of those you mention will have the same level of learning curve: VB and C# use teh same framework, and the java one is...um...not as neat and tidy.
From you question it is clear that you not only missing a language, but almost most (all) the basics of development...
In your case only learning a language syntax will not make any different...
First search for a book or online/offline course that covers your subject (independent of language) and do it with all your heart...
After you done all the exercises, split your goal into smaller parts (your current requirements are far to much for a beginner) and try to apply to them all your knowledge one-by-one...
 
Share this answer
 
Comments
Member 11526163 15-Mar-15 7:35am    
Absolutely! But the question is which languages to pursue that will be relevant to what I've described what's above. You can spend a lot of time barking up the wrong tree.
Kornfeld Eliyahu Peter 15-Mar-15 7:37am    
It seems, that ASP.NET/MVC can give you a relatively easy answer, so I would say C# is essential, but there are other options, like Ruby and PHP too...
Member 11526163 15-Mar-15 8:02am    
Which ones do you think would be better suited for Category I versus Category II?
Kornfeld Eliyahu Peter 15-Mar-15 8:04am    
I would choose C# for both...
Member 11526163 15-Mar-15 8:06am    
So why C# instead of PHP or Java or C++? I don't mean to harp but I need some kind of logic before I march off and spend the next 1,000 hours learning C#.
I have to agree with OriginalGriff. C# and .NET is the toolset you should take in consideration. Please note, that learning a language on it's own is is quite easy if you already have some experience.
You could learn Pascal and you would not get what you need. Why? Because any language is as usable as the tools it is putting available. Altrough there it ObjectPascal and Delphi VCL, it is quite hard to achive things you have listed with them. It has little or no support for interacting with other things. So you need to do everything from scratch, or rely on code made by an unknown person or narrow community.
C# on the other hand is tightly bound to .NET framework and there is a wide community you can rely on. There are places like CodePlex where you can find valuable extensions - mostly for free. Integrating third party componentes and libraries in a .NET application is as easy as I have dreamed of ever since I was working with Delphi. And you have an unvaluable tool like Visual Studio Community Edition at hands, which is the answer to many Christmas whishes. I've used Delphi until version 7, Eclipse for PHP and Java projects, but also SharpdDevelop in addition to Visual Studio Express which had very limited possibilities compared to higher editions. It is a matter of personal preference, but I haven't encountered an IDE matching Visual Studio Community Edition (and above). If you like, you can use it to develop Python or PHP... do you really need more?

What you gain by taking this parth?
1) C# with a not so steep learning courve - yes, you should start with a book, but that's all if you are really good in Javascript for example. As C# is bound to .NET, it is evolving with it. Sometimes you get only syntactic sugar in addtion, but such things can spare you lots of work. No other language is evolving like it, and no one is up to the developer needs as this one.
2) You get the whole power of .NET framework and a bunch of extension you can rely on. So You will need to write less code on your own. No single book will help you when you want to do interact with Google or Office stuff. Or maybe no book at all. But you will find many answers and ready-made or simply adaptable solutions easily. You can develop much anything from windows service trough console or windowed application and web based solutions - using the same principles, with the same tools.
If you try the same with a non-CLR language... well, you will probably need more than that.
3) You get an IDE satisfying all needs of any individual developer or of a smaller team. And of course this is extensible too.
4) You have MSDN as extensive online documentítion.
5) You even have the source of .NET framework itself to debug and learn.
 
Share this answer
 
v2
Comments
Member 11526163 15-Mar-15 8:21am    
Thank you Zoltan, this is very helpful. For someone who only knows HTML and not JavaScript, do you suggest that I would be able to start with C# right away, or that I would need to learn JavaScript first?
Zoltán Zörgő 15-Mar-15 14:39pm    
Well, you can't do any web these days, and you can't really interact wiht google tools without JavaScript knowledge. Even more, you will need JQuery framework too. But C# and JavaScript can be learned in parallel. But you need to tell apart the common syntactical backend (both have C-based syntax), the OO way of thinking both apply - and the extensive differences between them. They are meant to work in different points in the ecosystem.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900