另一个'告诉我要学习哪种语言'的要求: [英] Yet another ‘Tell me which language to learn’ request:

查看:108
本文介绍了另一个'告诉我要学习哪种语言'的要求:的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在考虑要学习哪些编程/脚本语言很长一段时间,最后决定勾画出我想要完成的内容。我知道HTML,我不想成为一名IT专业人士。我希望能够用最少,最容易学习,最简单的语言来完成下面的大部分工作。有什么建议吗?





类别I:用于读写用户数据库和网站的Google Drive API:



•创建一个包含用户帐户的网站(我不必从头开始构建)

•保留并更新我可以手动修改的用户帐户信息。 />
•从网站表单提交用户输入并使用它来更新多个不同Google表格文档中包含的财务和跟踪数据。

•点击按钮,复制Google云端硬盘文件夹(包括内容和权限),并将其放置在用户提供的新文件夹名称下的新位置。

•修改网站模板,使其显示或不显示,基于登录用户的访问组的某些模块

•在HTML网站上查找并显示来自Google表格文件的特定字符串和数字,根据以下内容查找源文档/选项卡/单元格用户名我已登录。

•将所有活动写入时间戳记日志,可以为审核站点活动引用该日志。这将跟踪表单提交,登录尝试以及链接到帐户的IP。

•与任何标准化API中包含的数据交互,并创建新的API。





类别II:启用Excel VBA或EXE文件以写入Microsoft Office文档:



•创建可执行文件在可通过(即非命令行)用户界面中打开的文件,用户可以在该界面中键入表单的多个部分,然后单击按钮以指示他们在工作流程中的选择。

•创建和修改在编码环境之外的基于if / then或Approvals的工作流程,以便非技术外行可以在以后进行更改。

•允许用户更改可执行文件本身中程序的设置。

•通过搜索文件/文件夹名称的前几个字符,从存储在指定文件夹中的Excel文档中的特定单元格导入数据。

•复制一组模板文档和将它们放在标准化命名约定下的新文件夹中,使用用户输入修改这些文档的一部分。

•在Outlook中打开一个电子邮件,其中填写了Microsoft Word文档中的语言和格式,并替换了已定义的变量用户和数据库生成的输入。

•创建一个自动更新的数据库,并以设定的间隔报告给PDF。

解决方案

这总是一个主观的事情,但我建议你使用C# - 它会完成所有这些,以及更多:它是强类型的(这意味着它不会对你做任何假设 - 所以如果它编译它更少可能会做一些有趣的东西,而不是像VB这样弱类型的语言。)



有一个学习曲线,它可能非常陡峭 - 但你想要的是什么这是非常复杂的,所以无论你开始使用哪种语言都会带来学习曲线。



我建议你找一本书 - 任何东西都可以没有...在XXX天,为傻瓜,或标题中的多个感叹号可能没问题,但Addison-Wesley和Wrox都做得很好 - 并且从头到尾跟着它,做所有的练习。或者找一个当地的课程,并获得一个导师投入! :笑:



真正重要的事情是(不论语言):



1)不要试图通过做或通过查看代码来学习 - 它们都意味着你最终不知道为什么有效,或者错过了大量的理解,这些将简化以后的工作。

2)不要指望开始编写上面列出的软件:你需要先掌握基础知识。你不能开始为你的第一辆移动车辆制造汽车并期望它赢得F1比赛! :笑:



坚持下去,你会得到很多满足感!


从你的问题很清楚你不仅缺少一种语言,而且几乎大部分(全部)都是开发的基础......

在你的情况下,只学习语言语法不会有任何不同......

首先搜索涵盖您主题的书籍或在线/离线课程(独立于语言)并全心全意地完成...

完成所有练习后,分开目标更小的部分(你当前的要求对于初学者来说是非常重要的)并尝试逐一向他们应用你的所有知识...


我必须同意OriginalGriff。 C#和.NET是您应该考虑的工具集。请注意,如果您已经拥有一些经验,那么自己学习一门语言就很容易了。

你可以学习帕斯卡尔,但你不会得到你需要的东西。为什么?因为任何语言都可以使用它所提供的工具。在那里使用ObjectPascal和Delphi VCL,很难找到你用它们列出的东西。它很少或根本不支持与其他事物进行交互。因此,您需要从头开始做所有事情,或者依赖于由不知名的人或狭隘社区制作的代码。

另一方面,C#与.NET框架紧密相关,您可以依赖广泛的社区。像CodePlex这样的地方你可以找到有价值的扩展 - 大多数是免费的。自从我使用Delphi以来,在.NET应用程序中集成第三方组件和库就像我梦想的那样简单。而且你手头有一个无价的工具,如Visual Studio Community Edition,这是很多圣诞节的答案。我使用Delphi直到版本7,Eclipse用于PHP和Java项目,还有SharpdDevelop以及Visual Studio Express,与高版本相比,它的可能性非常有限。这是个人偏好的问题,但我没有遇到与Visual Studio Community Edition(及以上版本)匹配的IDE。如果你愿意,你可以用它来开发Python或PHP ...你真的需要更多吗?



你通过这个获得了什么?

1)C#有一个不那么陡峭的学习courve - 是的,你应该从一本书开始,但如果你真的很擅长Javascript就行了。由于C#绑定到.NET,它正在随之发展。有时候你只会得到语法糖,但是这样的东西可以为你节省大量的工作。没有其他语言像它一样发展,没有人能像开发人员那样满足开发人员的需求。

2)你可以获得.NET框架的全部功能和一系列你可以信赖的扩展。所以你需要自己编写更少的代码。当您想要与Google或Office进行互动时,没有一本书可以帮助您。或者根本没有书。但您可以轻松找到许多答案和现成的或简单的适应性解决方案。您可以从Windows服务通过控制台或窗口应用程序和基于Web的解决方案开发任何东西 - 使用相同的原则,使用相同的工具。

如果您尝试使用非CLR语言...好吧,你可能还需要更多。

3)你得到的IDE满足任何一个开发人员或一个小团队的所有需求。当然这也是可扩展的。

4)你有MSDN作为广泛的在线文档。

5)你甚至有.NET框架本身的源代码来调试和学习

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.

解决方案

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!


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...


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.


这篇关于另一个'告诉我要学习哪种语言'的要求:的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆