简体   繁体   English

日历软件使用哪种编程语言?

[英]Which programming language for a calendar software?

I'd like to learn a new programming language and while learning it, I want to write a replacement for Microsoft Works Calendar. 我想学习一种新的编程语言,并且在学习它的同时,我想为Microsoft Works Calendar编写替代语言。 That is, a fairly simple calendar software which supports reminders and has a specific reminder process which will display the reminders even if the calendar itself is not running. 即,一个相当简单的日历软件,它支持提醒并具有特定的提醒过程,即使日历本身未运行,该过程也将显示提醒。 I would like to hear your suggestions on which language to use. 我想听听您关于使用哪种语言的建议。

Here are my requirements: 这是我的要求:

  • Works on Windows (7 is enough, others are a plus). 在Windows上可以使用(7个就足够了,其他都可以)。
  • Allows me to learn something new (definitely rules out Java, C# is questionable). 让我学习新知识(绝对排除Java,C#值得怀疑)。 Perhaps something quite different from Java. 也许与Java完全不同。
  • Is a nice language to use (you define nice). 是一种很好用的语言(您定义很好)。
  • It would be nice if it was useful for my career. 如果对我的职业生涯有用的话,那会很好。
  • Offers good support (built-in or 3rd party) for building the user interface. 为构建用户界面提供良好的支持(内置或第三方)。

Python comes to mind but would it be good for this kind of project and what other alternatives are there? 我想到了Python,但这对这种项目有好处吗?还有其他替代方法吗?

EDIT: 编辑:
I might add that I'm trying to find a compromise between practicality and learning something new. 我可能会补充说,我正在尝试在实用性和学习新知识之间寻求折衷。 So I don't want to stick to what I already know and make life easy on myself, but I also want to finish the project some day. 因此,我不想坚持自己已经掌握的知识,并让自己过得轻松自在,但是我也希望有一天能完成这个项目。 That doesn't mean I don't want to try the more "exotic" languages, on the contrary. 相反,这并不意味着我不想尝试更多的“异国情调”语言。 I want to try pretty much every language there is and that's another thing I'm planning on doing. 我想尝试几乎每种语言,这是我计划要做的另一件事。 Nothing major, just month or two to get a feeling what's out there. 没什么大不了的,仅仅一两个月就可以感觉到那里发生了什么。 It might even be that I should do that before selecting the language for this project, but I have to think about that. 甚至可能是我应该在选择该项目的语言之前执行此操作,但是我必须考虑一下。

If you are creating a Windows desktop application, then it is most sensible to choose C# and WPF/XAML. 如果要创建Windows桌面应用程序,那么选择C#和WPF / XAML是最明智的选择。 You'll likely find some new and interesting ideas in XAML, and C# is a wonderful language. 您可能会在XAML中找到一些有趣的新想法,而C#是一种很棒的语言。

C++/Qt. C ++ / Qt。 Python/GTK. Python / GTK。 Python/Qt. Python / Qt。 VB.NET/WPF. VB.NET/WPF。 Python/Django. Python / Django。 JavaScript/XULRunner. JavaScript / XULRunner。 More? 更多?

如果要使用Java工作,F#(如果要使用Microsoft .Net App)或Clojure怎么样?

Python is a fine choice. Python是一个不错的选择。 I'd suggest starting with something dead simple and terminal based. 我建议从简单的终端化的东西开始。 Move onto the GUI once the core functionality is there, and once you have a better hold on the language. 一旦核心功能存在,并且对语言有了更好的掌握,就可以移至GUI。 As Serapth noted, it might be a little too easy being C derived. 正如Serapth指出的那样,用C派生可能有点容易。

I imagine pytz and dateutils will be projects that you'll want to look at. 我想象pytz和dateutils将是您要查看的项目。

As a pure learning exercise? 作为纯粹的学习练习?

If so, I would recommend against any C derived languages ( and that would include Python ) as if you have a solid foundation in one, learning a different one really shouldn't require any major effort. 如果是这样,我建议不要使用任何C派生的语言(并且包括Python),就好像您拥有扎实的基础一样,学习另一种语言真的不需要任何大的努力。

Personally, if it was me and I could turn back time on my programming career, I would recommend a functional language in a heartbeat. 就我个人而言,如果是我,我可以回头从事编程职业,我会心动地推荐一种功能语言。 Something like LISP or F#. LISP或F#之类的东西。 I say this for two reasons. 我说这有两个原因。 First, once my brain became hardwired around doing things a certain way, learning functional programming was HARD. 首先,一旦我的大脑以某种方式变得束手无策,学习函数式编程就变得很困难。 Like brain splitting hard. 就像脑子裂开了一样。 Second, functional programming is becoming more and more popular and mainstream and already heavily influencing the .NET family of languages. 其次,函数式编程正变得越来越流行和主流化,并且已经严重影响.NET语言族。

If not, I would probably go with a prototype based language, such as Javascript or Lua, as again, its a departure from the way you currently think in Java. 如果不是这样,那么我可能会使用基于原型的语言,例如Javascript或Lua,这再次偏离了您目前在Java中的思维方式。 That said, nowhere near the departure that learning, say, LISP would be. 就是说,学习LISP并非遥不可及。

EDIT: 编辑:

After re-reading your requirements, I say F# or failing that, C#. 重新阅读您的要求后,我说F#或失败,然后说C#。 Functional programming exposure but with drag/drop UI tools. 功能性编程介绍,但具有拖放式UI工具。

I'm not very sure of what the programming language the other calendar software use, but I know one calendar software is made by delphi(I'm also a software engineer, so when I used it, I just asked them about it, however, I'm not familiar with that language). 我不太确定其他日历软件使用哪种编程语言,但是我知道一个日历软件是由delphi制作的(我也是软件工程师,所以当我使用它时,我只是问他们关于它的信息。 ,我对该语言不熟悉)。 Hope that can help you. 希望能对您有所帮助。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM