很长一段时间以来,我一直在尝试使用不同的语言来查找我想要的功能集,而我却找不到它.我的语言非常适合我的各种项目,但我想出了这些语言的交集,这使我能用一种语言完成99.9%的项目.我想要以下内容:
我一直在使用的两种主要语言是Boo和Nemerle,但我也玩过F#.
针对Nemerle的主要投诉:编译器有可怕的错误报告,实现是错误的,因为地狱(编译器和库),宏只能在函数内部或作为属性应用,并且它是相当重的依赖性(虽然不够,它是一个交易破坏者).
针对Boo的主要投诉:没有任意表达式嵌套(dealbreaker),宏很难写,没有自定义运算符定义(潜在的交易破坏者).
针对F#的主要投诉:难看的语法,难以理解的元编程,非自由许可(epic dealbreaker).
所以我想的越多,我就越想开发自己的语言.
优点:
缺点:
因此,基于所有这些,一般的共识是什么 - 这是一个好主意还是一个坏主意?或许更有帮助,我是否错过了任何重大利弊?
编辑:忘记添加嵌套示例 - 这是Nemerle中的一个案例:
def foo =
if(bar == 5)
match(baz) { | "foo" => 1 | _ => 0 }
else bar;
Run Code Online (Sandbox Code Playgroud)
编辑#2:想象一下如果存在将转换为该语言的代码类型的例子并不会受到影响(单独的S.Lott的回答可能足以让我远离这样做).代码大量使用自定义语法(操作码,:=,quoteblock等),表达式嵌套等.你可以在这里查看一个很好的例子:这里.
对不起,如果我的术语错了.我#if TEST_APP在我的代码中写道.现在我想定义TEST_APP.我如何使用visual studios 2010进行设置?这是一个Windows窗体应用程序.
如果您能告诉我在winform项目和Web项目中设置的符号的名称,可以获得奖励
我需要显示一个StatusStrip控件停靠顶部而不是底部.
用户要求.很长的故事.
如何在没有右角点的情况下显示StatusStrip?
我必须写一个访问者模式来导航AST.任何人都可以告诉我更多我将如何开始写它?据我所知,AST中的每个节点都有visit()方法(?),它会以某种方式被调用(从哪里?).这总结了我的理解.为了简化一切,假设我有节点Root,Expression,Number,Op,树看起来像这样:
Root
|
Op(+)
/ \
/ \
Number(5) \
Op(*)
/ \
/ \
/ \
Number(2) Number(444)
Run Code Online (Sandbox Code Playgroud) 我试图了解此C#8简化功能:
IDE0063的“使用”语句可以简化
例如,我有:
void Method()
{
using (var client = new Client())
{
// pre code...
client.Do();
// post code...
} --> client.Dispose() was called here.
// more code...
}
Run Code Online (Sandbox Code Playgroud)
IDE告诉我可以using通过编写以下代码来简化此语句:
void Method()
{
using (var client = new Client());
// pre code...
client.Do();
// post code...
// more code...
}
Run Code Online (Sandbox Code Playgroud)
我不明白它是如何工作的以及它如何决定我不再using是变量。更具体地说,它什么时候调用client.Dispose方法?
我正在尝试创建一些在运行时使用的对齐网格功能,但我遇到了捕捉部分的问题.我已成功在面板上绘制了一个虚线网格,但是当我向面板添加标签控件时,如何将标签的左上角捕捉到最近的点?
谢谢
我有一个标签,我想用它来显示一些文字.我想展示几段文字.
有没有办法通过设计师在文本中进行换行?(\n\r只显示\n\r)
这是WinForms(实际上它是Compact Framework.)
我的DataGridView是只读的 - 用户无法在其中输入数据,因此最后的空行("新"行?)看起来很难看.
如何防止它显示?
我创建了一个小程序来测试UPnP Multicast(Visual C#2010 Express,在Windows 7 Professional 64 Bit上运行).我可以从网络中的UPnP设备收到UPnP NOTIFY消息.但是当我发送M-SEARCH消息时,我得不到答案.
我在iOS环境中测试了相同的代码(适用于iOS的Monotouch,在Mac上的iPhone模拟器上运行).它运行良好,我得到了我的UPnP设备的所有搜索响应.我也可以从我的Windows程序中看到M-SEARCH消息.
看起来Windows(或防火墙?)隐藏了搜索响应.任何的想法?
这是代码:
IPEndPoint LocalEndPoint = new IPEndPoint(IPAddress.Any, 1900);
IPEndPoint MulticastEndPoint = new IPEndPoint(IPAddress.Parse("239.255.255.250"), 1900);
Socket UdpSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
UdpSocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
UdpSocket.Bind(LocalEndPoint);
UdpSocket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.AddMembership, new MulticastOption(MulticastEndPoint.Address, IPAddress.Any));
UdpSocket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.MulticastTimeToLive, 2);
UdpSocket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.MulticastLoopback, true);
Console.WriteLine("UDP-Socket setup done...\r\n");
string SearchString = "M-SEARCH * HTTP/1.1\r\nHOST:239.255.255.250:1900\r\nMAN:\"ssdp:discover\"\r\nST:ssdp:all\r\nMX:3\r\n\r\n";
UdpSocket.SendTo(Encoding.UTF8.GetBytes(SearchString), SocketFlags.None, MulticastEndPoint);
Console.WriteLine("M-Search sent...\r\n");
byte[] ReceiveBuffer = new byte[64000];
int ReceivedBytes = 0;
while (true)
{
if (UdpSocket.Available > 0)
{
ReceivedBytes = UdpSocket.Receive(ReceiveBuffer, …Run Code Online (Sandbox Code Playgroud) 我试图重写这里发现的神经网络到javascript.我的javascript代码看起来像这样.
function NeuralFactor(weight) {
var self = this;
this.weight = weight;
this.delta = 0;
}
function Sigmoid(value) {
return 1 / (1 + Math.exp(-value));
}
function Neuron(isInput) {
var self = this;
this.pulse = function() {
self.output = 0;
self.input.forEach(function(item) {
self.output += item.signal.output * item.factor.weight;
});
self.output += self.bias.weight;
self.output = Sigmoid(self.output);
};
this.bias = new NeuralFactor(isInput ? 0 : Math.random());
this.error = 0;
this.input = [];
this.output = 0;
this.findInput = function(signal) {
var input = …Run Code Online (Sandbox Code Playgroud) javascript artificial-intelligence backpropagation neural-network
c# ×7
winforms ×4
boo ×1
c#-8.0 ×1
datagridview ×1
ide ×1
javascript ×1
label ×1
nemerle ×1
refactoring ×1
runtime ×1
ssdp ×1
statusstrip ×1
upnp ×1
vb.net ×1
windows ×1