对高级项目实施良好的语言? [英] Good language to implement for senior project?

查看:62
本文介绍了对高级项目实施良好的语言?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我上大学的最后一个学期,我必须在12月做一个大型演讲.我计划设计一种不仅有效的小语言,而且还具有一些不错的功能.有没有人对我的教授印象深刻的有趣的语法思想或功能?

Its my last semester of college and I have to do a big presentation in December. I plan on designing a small language that not only works, but also has some nifty features to go with it. Does anyone have any interesting syntax ideas or features that would impress my professors?

注意:我不想只复制一种语言并重新实现它.我希望进行一些研究,并尝试一些新的想法.

Note: I do not want to just copy a language and reimplement it. Im looking to do a little research and try some new ideas out.

推荐答案

虽然我可能无法直接回答您的问题,但我相信这将根据我自己的经验为您提供一些见解,这是针对最后一个项目的我还尝试了自己的脚本语言(使用C ++)-尽管我知道您正在尝试编译器,所以可能不会存在相似之处.请从我的错误中学习.

Whilst I might not be able to answer your question directly, I am sure this will give you some insights from my own experience - given, for a final year project I also attempted my own scripting language (in C++) - although I am aware you're attempting a compiler so there might not be similarities. Please learn from my mistakes.

根据经验:

  1. 您想像的脚本语言会做的事情(您键入命令,做一些漂亮的事情来修复Windows或其他东西)以及它的实际作用(您键入命令,但几分钟后它崩溃了)可以通常是两个不同的东西.保持现实.

  1. What you imagine the scripting language will do (you type in a command, does something nifty like it fixes windows or something) and what it actually does (you type in a command, but minutes later it crashes) can often be two different things. Keep it realistic.

除了大脑想像出这种出色的成品(两者之间没有),它还倾向于对自己的能力进行自我欺骗(例如其他程序员犯了这个错误,但我不会!").您确实有可能犯相同的错误,或者如果犯相同的错误,则有不同的错误.

Aside from the brain imagining this fantastic finished product (with no inbetween), it also has a tendency of deluding itself on it's own capabilities (like 'other programmers made that mistake but I won't!'). Chances are you do make the same mistakes, or if not the same, different mistakes.

大脑评估所需时间的能力很差(如果认为这只是一个黑客工作,将需要一个月"-再想一想),并且认为所需的时间应乘以5至10次​​(如果不是更多的话)以获取所需实际范围的准确概念.保持冗长的讨论范围-更糟的情况.

The brain has a poor ability to assess time required (if it's thinking 'it's just a hack job that'll take a month' - think again), and time it thinks is required should be multiplied between 5 to 10 times (if not more) to get an accurate idea of real scope needed. Keep to the lengthy end of the scope - worse-case scenario.

意外陷阱.就像我如何实现多个先验的逻辑语句"一样,它花费的时间比我预期的要长(请参阅3.)".愿意放弃复杂的事情.

Unexpected pitfalls. Like 'how do I implement multi-precedented logic statements' and 'it's taking longer than I expected (see 3.)'. Be willing to give up complicated matters.

设计.不要只是寻找想法,不要想这是一个可行的项目,而是要在跳到复杂的东西之前看看如何实现基础(请参阅1.).尽早奠定基础可以节省您的时间.并且不要忘记设计文档.

Design. Don't just look for ideas, think about whether or not it's a viable project, and look at how you're going to implement the groundwork before jumping to the complicated stuff (see 1.). Laying the groundwork early on can save you time. And don't forget design documents.

研究.您计划写出的功能可能已经写在某处之前.研究它.这样可以节省您的时间.不要重新发明轮子,也不要担心效率(大学就是学习).

Research. Chances are that function you plan to write out, has already been written before somewhere. Research for it. This will save you time. Do not reinvent the wheel and do not be concerned about efficiency (university is about learning).

正如一位评论者所说,从简单开始,使其正常运行,然后扩展.

As one commenter said, start simple, get it working, then expand.

开发有用想法的最佳方法是,查看真正困扰您的特定任务或特定脚本语言,然后构建它,以便您消除或最小化该任务.例如,由于不得不继续从网站上下载文件并将其手动分类到特定的文件夹中而使我感到恼火-因此,我建立了一个程序来为我这样做.

Best way to develop useful ideas, is to see what really bothers you about a certain task or certain scripting languages, and build it so you can eliminate or minimise that task. For example, I got annoyed by having to keep downloading files from a website and sorting it manually into specific folders - so I built a program to do that for me.

这篇关于对高级项目实施良好的语言?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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