l****n 发帖数: 156 | 1 税务的规则经常变,至少是微调。
所以想定义一个规则库,每年只需要更新规则,然后软件根据规则的semantatics(不
是syntax),自动生成各种计算规则。
目的很简单,就是报税软件能自我更新,不要把每年的维护更新变成一项体力活。
请高手指教。 |
l****n 发帖数: 156 | 2 没人回复,我自己顶下,抛砖引玉。
粗略来说,perl的template toolkit可以“模拟”。把业务逻辑放在perl里,template
toolkit只用来产生presentation logic.
这里的计算规则,可以类比presentation logic。
当然了,这只是个比方,肯定达不到我所期望的灵活性。 |
g****t 发帖数: 31659 | 3 Java 或者c#。
我假设你这是做东西卖的,不是自用的。
也不是做slides出去吹效果的。
经常要自己改的程序才需要
表达功能强大的。
程序需要更改的频率越高,越需要
表达能力强大的语言。我天天改算法,所以需要表达能力强
速度又快的。但是商业软件,尤其是业务逻辑复杂的,
按你这个来bbs找答案的水平,
我个人的浅见,一定是c#,java最好。 |
p**r 发帖数: 5853 | 4 说实话,这种破玩意最多2天就做完了,
还聊什么核心,模块。
给个大概吧,抛玉引砖 :D
#1
DB/tables:
users(基本信息)
userR(用户相关信息,夫妻,子女等等,联合报税)
userExt(拓展信息,商家,个人等等)
years(年份相关数据数据)
Formulas(各种规则)
#2
核心只有一个,就是根据formula的文本解析成代码
类似对字符串"if(var1>std1),then var1=var*120"
#3
实现就是把所有的数据调出来后,喂进解析核心,
解析核心再导入公式出各种结果report。
功能实现上属于小学生级别,完全没有难度。
traffic处理方面也不存在难度,低流量。
唯一要注意点的就是加密解密,因为数据敏感。
如果web base,那就更要小心更小心。
身份验证方面可能也要注意下。
真的要做这种商用软件,唯一可以拉开差距的就是UI。 |
g****t 发帖数: 31659 | 5 两天需求分析都没完成呢吧?
各种数据的数据类型能定下来?输入的default value?
用户如果是做生意的,国际生意的,炒股的,...
: 说实话,这种破玩意最多2天就做完了,
: 还聊什么核心,模块。
: 给个大概吧,抛玉引砖 :D
: #1
: DB/tables:
: users(基本信息)
: userR(用户相关信息,夫妻,子女等等,联合报税)
: userExt(拓展信息,商家,个人等等)
: years(年份相关数据数据)
: Formulas(各种规则)
【在 p**r 的大作中提到】 : 说实话,这种破玩意最多2天就做完了, : 还聊什么核心,模块。 : 给个大概吧,抛玉引砖 :D : #1 : DB/tables: : users(基本信息) : userR(用户相关信息,夫妻,子女等等,联合报税) : userExt(拓展信息,商家,个人等等) : years(年份相关数据数据) : Formulas(各种规则)
|
p**r 发帖数: 5853 | 6 哥们,估计你是在MS之类的养老公司混的吧。
现在这种小项目,不需要团队协作的,谁还花2天写需求啊。
当然2天有点夸张了,一星期应该可以搞定。
Agile Agile Agile 重要的事情说三遍。
这种规模的软件,先上个FS的码农2,3天写完。
然后看看IRS或者找个会计所弄批数据过来TDD,搞定。
然后泡妞看片打游戏3星期,交货!
【在 g****t 的大作中提到】 : 两天需求分析都没完成呢吧? : 各种数据的数据类型能定下来?输入的default value? : 用户如果是做生意的,国际生意的,炒股的,... : : : 说实话,这种破玩意最多2天就做完了, : : 还聊什么核心,模块。 : : 给个大概吧,抛玉引砖 :D : : #1 : : DB/tables: : : users(基本信息)
|
n******7 发帖数: 12463 | 7 请教什么是FS的码农?
【在 p**r 的大作中提到】 : 哥们,估计你是在MS之类的养老公司混的吧。 : 现在这种小项目,不需要团队协作的,谁还花2天写需求啊。 : 当然2天有点夸张了,一星期应该可以搞定。 : Agile Agile Agile 重要的事情说三遍。 : 这种规模的软件,先上个FS的码农2,3天写完。 : 然后看看IRS或者找个会计所弄批数据过来TDD,搞定。 : 然后泡妞看片打游戏3星期,交货!
|
p**r 发帖数: 5853 | 8 Full Stack,
听完客户BB后,
能一个人出方案,然后自己分层,做数据库,写前后台,写UI的码农。
【在 n******7 的大作中提到】 : 请教什么是FS的码农?
|
w**z 发帖数: 8232 | 9 真牛逼, 3个星期能搞定?美国五十个州,每个州税法都不一样,要把需求搞定,至少
几个月。
【在 p**r 的大作中提到】 : 哥们,估计你是在MS之类的养老公司混的吧。 : 现在这种小项目,不需要团队协作的,谁还花2天写需求啊。 : 当然2天有点夸张了,一星期应该可以搞定。 : Agile Agile Agile 重要的事情说三遍。 : 这种规模的软件,先上个FS的码农2,3天写完。 : 然后看看IRS或者找个会计所弄批数据过来TDD,搞定。 : 然后泡妞看片打游戏3星期,交货!
|
N*****m 发帖数: 42603 | 10 excel + vba
【在 l****n 的大作中提到】 : 税务的规则经常变,至少是微调。 : 所以想定义一个规则库,每年只需要更新规则,然后软件根据规则的semantatics(不 : 是syntax),自动生成各种计算规则。 : 目的很简单,就是报税软件能自我更新,不要把每年的维护更新变成一项体力活。 : 请高手指教。
|
|
|
l******n 发帖数: 9344 | 11 你做一个吧,做出来你就可以退休了
【在 p**r 的大作中提到】 : 哥们,估计你是在MS之类的养老公司混的吧。 : 现在这种小项目,不需要团队协作的,谁还花2天写需求啊。 : 当然2天有点夸张了,一星期应该可以搞定。 : Agile Agile Agile 重要的事情说三遍。 : 这种规模的软件,先上个FS的码农2,3天写完。 : 然后看看IRS或者找个会计所弄批数据过来TDD,搞定。 : 然后泡妞看片打游戏3星期,交货!
|
l****n 发帖数: 156 | 12 谢谢回复,请看我顶楼的更新。
c#我可能用来做UI,desktop版本的软件用WIN FORM是最直接的,linux平台可能用
python+qt。
不过这个不是重点,现在只讨论核心,不用理会UI。
【在 g****t 的大作中提到】 : Java 或者c#。 : 我假设你这是做东西卖的,不是自用的。 : 也不是做slides出去吹效果的。 : 经常要自己改的程序才需要 : 表达功能强大的。 : 程序需要更改的频率越高,越需要 : 表达能力强大的语言。我天天改算法,所以需要表达能力强 : 速度又快的。但是商业软件,尤其是业务逻辑复杂的, : 按你这个来bbs找答案的水平, : 我个人的浅见,一定是c#,java最好。
|
l****n 发帖数: 156 | 13 谢谢回复。抱歉我写得不够详细,误导你了。
请看我顶楼的更新。
【在 p**r 的大作中提到】 : 说实话,这种破玩意最多2天就做完了, : 还聊什么核心,模块。 : 给个大概吧,抛玉引砖 :D : #1 : DB/tables: : users(基本信息) : userR(用户相关信息,夫妻,子女等等,联合报税) : userExt(拓展信息,商家,个人等等) : years(年份相关数据数据) : Formulas(各种规则)
|
w********m 发帖数: 1137 | 14 都是if then的判断。满嘴都是苦胆味。
把if then抽出来也没有帮助。因为一旦加进去,你也不知道会影响其他的if then。 |
p**r 发帖数: 5853 | 15 按照楼主需求,这些规则公式都属于变量。
所以我设计的时候把这些东西直接放公式table里面,
也可以放xml之类的里面,
这部分不是开发需求,是用户自定义的。
【在 w**z 的大作中提到】 : 真牛逼, 3个星期能搞定?美国五十个州,每个州税法都不一样,要把需求搞定,至少 : 几个月。
|
p**r 发帖数: 5853 | 16 我理解的没错,核心只有一个,就是规则解释器,
负责解释formula里面的任何规则,
用什么语言写根本无所谓,
目测最方便是用python。
【在 l****n 的大作中提到】 : 谢谢回复。抱歉我写得不够详细,误导你了。 : 请看我顶楼的更新。
|
p**r 发帖数: 5853 | 17 我只是举例,实际情况TDD,
从最简单或最复杂的例子开发,然后调整。
比如:
隔壁老王,
W2:100K
1099:50K
State:CA
Married: True
Donation: 1k
Loan Tax: 10k
xxx Tax: 5k
规则部分:
Tax=W2*(federal%+CA_state%)-married%-donation-loanTax%...
然后#1解释器负责解释规则公式动态生成计算公式,
数据传递给#1生成的计算公式,出结果。
raw结果可以做成report,那就不是核心的东西了。
我只是写个最简单的,大概就这样
【在 w********m 的大作中提到】 : 都是if then的判断。满嘴都是苦胆味。 : 把if then抽出来也没有帮助。因为一旦加进去,你也不知道会影响其他的if then。
|
w**z 发帖数: 8232 | 18 你交过税吗?
【在 p**r 的大作中提到】 : 我只是举例,实际情况TDD, : 从最简单或最复杂的例子开发,然后调整。 : 比如: : 隔壁老王, : W2:100K : 1099:50K : State:CA : Married: True : Donation: 1k : Loan Tax: 10k
|
l****n 发帖数: 156 | 19 ******************************
这部分不是开发需求,是用户自定义的
******************************
我问大家的,就是怎么做这一部分。
至于具体的计算,如你所说,小学三年级的算术而已。
【在 p**r 的大作中提到】 : 按照楼主需求,这些规则公式都属于变量。 : 所以我设计的时候把这些东西直接放公式table里面, : 也可以放xml之类的里面, : 这部分不是开发需求,是用户自定义的。
|
w**z 发帖数: 8232 | 20 基于复杂的税法,我不觉得你能开发出用户可以自定义的 module.
【在 l****n 的大作中提到】 : ****************************** : 这部分不是开发需求,是用户自定义的 : ****************************** : 我问大家的,就是怎么做这一部分。 : 至于具体的计算,如你所说,小学三年级的算术而已。
|
|
|
l****n 发帖数: 156 | 21 谢谢回复,您很靠谱,洞察了问题的复杂性。
不过我要乐观一些,不同if/then之间的关联性也是可以用规则描述的。
请问您推荐什么语言来实现这些if/then的定义(或者说"生成“更合适)?
【在 w********m 的大作中提到】 : 都是if then的判断。满嘴都是苦胆味。 : 把if then抽出来也没有帮助。因为一旦加进去,你也不知道会影响其他的if then。
|
l****n 发帖数: 156 | 22 您误会了,我没打算要用户自定义。
每年,由我来定义(经过抽象的规则),核心模块会做semantics parsing, 生成相关
的计算规则,从而生成新一年的软件版本。
简单说就是,我不想每年都修改代码,来适应税务规则的微小调整,这种我称之为”体
力劳动“。
【在 w**z 的大作中提到】 : 基于复杂的税法,我不觉得你能开发出用户可以自定义的 module.
|
p**r 发帖数: 5853 | 23 都是找会计师,不太懂税,请批判指点。
【在 w**z 的大作中提到】 : 你交过税吗?
|
p**r 发帖数: 5853 | 24 这问题不会太麻烦,就是把限制性的语言转化为数学公式。
leetcode上有几道类似的题说的就是这个,
具体实现肯定要花点时间。
说到底就是解释器,
就像你在c#里面打 int y=2x+1;
解释器读进去执行,
你要做的是同样的事情,只是比它简单。
【在 l****n 的大作中提到】 : ****************************** : 这部分不是开发需求,是用户自定义的 : ****************************** : 我问大家的,就是怎么做这一部分。 : 至于具体的计算,如你所说,小学三年级的算术而已。
|
p**r 发帖数: 5853 | 25 我们做事要明确目标,这种傻瓜软件肯定是针对简单用户的,
要用到复杂税法的,肯定是雇佣会计师甚至团队。
overkill是软件开发的一个大问题。
【在 w**z 的大作中提到】 : 基于复杂的税法,我不觉得你能开发出用户可以自定义的 module.
|
p**r 发帖数: 5853 | 26 从商业运作来说,我认为可盈利的方式就是
#1 第一笔钱
做一个简单不复杂,UI炒鸡方便的报税软件,
满足大部分普通用户需求。
#2 第二笔钱
对于复杂,大客户,提供相关行业专业会计团队,
从中抽成
#3 第三笔钱
形成自己的专业会计团队,提供专业方案卖钱。 |
l****n 发帖数: 156 | 27 呵呵,你终于明白我要做的事情了。
请问,您推荐用什么语言来实现这个解释器?
【在 p**r 的大作中提到】 : 这问题不会太麻烦,就是把限制性的语言转化为数学公式。 : leetcode上有几道类似的题说的就是这个, : 具体实现肯定要花点时间。 : 说到底就是解释器, : 就像你在c#里面打 int y=2x+1; : 解释器读进去执行, : 你要做的是同样的事情,只是比它简单。
|
l****n 发帖数: 156 | 28 我算是懂吧,有什么问题, 你可以找我,共同探讨。
起码,你多了一个验证会计师是否靠谱的途径。
【在 p**r 的大作中提到】 : 都是找会计师,不太懂税,请批判指点。
|
l****n 发帖数: 156 | 29 我说过要做针对简单用户的傻瓜软件吗?
UI界面可能很傻瓜,但这和“简单”是两码事情。
我的目标就是要实现复杂的税法规则,而不是做简单运算。
所以才在这里请教,因为我的知识结构陈旧,20多年前就离开大学了。想在这里跟大家
学习下最新的进展。
其实我心里大概也有一些概念,不过我先不说,免得限制了大家的思路。
【在 p**r 的大作中提到】 : 我们做事要明确目标,这种傻瓜软件肯定是针对简单用户的, : 要用到复杂税法的,肯定是雇佣会计师甚至团队。 : overkill是软件开发的一个大问题。
|
g****t 发帖数: 31659 | 30 C# or Java
【在 l****n 的大作中提到】 : 我说过要做针对简单用户的傻瓜软件吗? : UI界面可能很傻瓜,但这和“简单”是两码事情。 : 我的目标就是要实现复杂的税法规则,而不是做简单运算。 : 所以才在这里请教,因为我的知识结构陈旧,20多年前就离开大学了。想在这里跟大家 : 学习下最新的进展。 : 其实我心里大概也有一些概念,不过我先不说,免得限制了大家的思路。
|
|
|
x***4 发帖数: 1815 | 31 想得太简单了。tax设计很多domain knowledge的。一个最浅显的问题,为什么要用你
这个而不是turbo tax 哦人hrblock?你有什么他们没有的?
【在 p**r 的大作中提到】 : 从商业运作来说,我认为可盈利的方式就是 : #1 第一笔钱 : 做一个简单不复杂,UI炒鸡方便的报税软件, : 满足大部分普通用户需求。 : #2 第二笔钱 : 对于复杂,大客户,提供相关行业专业会计团队, : 从中抽成 : #3 第三笔钱 : 形成自己的专业会计团队,提供专业方案卖钱。
|
p**r 发帖数: 5853 | 32 每天都有很多人找我合作,
我自己也有很多各种古怪的项目在run。
我回答你问题只是回答,没其他想法。
【在 l****n 的大作中提到】 : 我算是懂吧,有什么问题, 你可以找我,共同探讨。 : 起码,你多了一个验证会计师是否靠谱的途径。
|
p**r 发帖数: 5853 | 33 我只是作为一个码农回答他的问题而已,
其他的随便说说。
你说的问题是市场,推广的人要考虑的,
这个往深了没有底的,也不可能真的花多少精力下去的。
我不知道遇见多少一拍大腿出个idea的人,
大概结果如下
#1
一部分人说过就忘了,
#2
一部分就是上网问问然后就丢一边了,
#3
也有觉得自己多牛逼,白手套狼的忽悠别人帮他做,
这种往往是给你画个蛋糕,说他有多少关系,多少背景,
然后忽悠你给他低价做。
对这种人我就一句话,你他妈的还没我有钱,连个市场价格的码农都请不起
你他妈的也好意思忽悠我,滚你妈一边去。
#4
有些还真的砸锅卖铁去做的,我有些客户就这样,
自己省吃俭用,但是按市场价开发费用一分不少交过来,
不跟你废话其他未来大蛋糕。
这种人我从心里是尊敬他们的,
但是现实是残酷的,大部分这种人到最后除了一个失败的创业经验啥都没。
【在 x***4 的大作中提到】 : 想得太简单了。tax设计很多domain knowledge的。一个最浅显的问题,为什么要用你 : 这个而不是turbo tax 哦人hrblock?你有什么他们没有的?
|
w**z 发帖数: 8232 | 34 你要把联邦税加上50个州税每年的变化,从一般人都看不懂的英语解释,转化成电脑能
够parse的规则,我觉得这个难度不是一般的高
【在 l****n 的大作中提到】 : 您误会了,我没打算要用户自定义。 : 每年,由我来定义(经过抽象的规则),核心模块会做semantics parsing, 生成相关 : 的计算规则,从而生成新一年的软件版本。 : 简单说就是,我不想每年都修改代码,来适应税务规则的微小调整,这种我称之为”体 : 力劳动“。
|
l****n 发帖数: 156 | 35 您说得太对了。如果真那么简单,我就不用啰嗦这么多了。
这么说吧,只要做出一个州的,后面的就好办了,呵呵。
semantics parsing/code generation,本质上和写编译器是一样的,当然要简单一些
,因为税务规则毕竟是个有限集合。
但是似乎这里的人只知道c#/java。
期待高手现身。
【在 w**z 的大作中提到】 : 你要把联邦税加上50个州税每年的变化,从一般人都看不懂的英语解释,转化成电脑能 : 够parse的规则,我觉得这个难度不是一般的高
|
l****n 发帖数: 156 | 36 我不客气地说一句,能砸锅卖铁请你做软件的,他的失败是完全可以预期的。
你可能coding很快,可能会玩一些fancy的东西,但是,你敲键盘的速度,远远高于大
脑进行严肃思考的速度。
【在 p**r 的大作中提到】 : 我只是作为一个码农回答他的问题而已, : 其他的随便说说。 : 你说的问题是市场,推广的人要考虑的, : 这个往深了没有底的,也不可能真的花多少精力下去的。 : 我不知道遇见多少一拍大腿出个idea的人, : 大概结果如下 : #1 : 一部分人说过就忘了, : #2 : 一部分就是上网问问然后就丢一边了,
|
p**r 发帖数: 5853 | 37 戳中你这种穷逼老狗的要害了,急眼了
你就是一个穷逼老狗,一把年纪了也没做成什么事情。
十足一个loser,这几天脑发热了想做个软件。
结果发现自己很傻逼已经跟不上形势了,又他妈的没钱。
所以跑到论坛上来问。
瞧你这种傻逼像,老子回答你那么多,不感谢一下,还他妈的忽悠,
知道你为啥老狗一条了还没钱吗?
不是你脑残傻逼,而是你做人有问题,懂吧,
你这辈子也就一个傻逼。
别再网上BB说你多有钱多有背景啥的了,吃屎去吧,
有钱有势有脑子的人早就自己在run了。
不可能像你个傻逼一样,别人给点意见,还说就知道c# java
就知道你妈逼懂吗,问人问题还那么不谦虚,老狗一条,
赶快早点死了,免得浪费空气粮食。
最他妈的烦的就是你这种没钱还BB装蒜的老狗。
【在 l****n 的大作中提到】 : 我不客气地说一句,能砸锅卖铁请你做软件的,他的失败是完全可以预期的。 : 你可能coding很快,可能会玩一些fancy的东西,但是,你敲键盘的速度,远远高于大 : 脑进行严肃思考的速度。
|
p**r 发帖数: 5853 | 38 期待你妈逼,你这种老狗这辈子也不会有出息了,老loser一个,滚!
【在 l****n 的大作中提到】 : 我不客气地说一句,能砸锅卖铁请你做软件的,他的失败是完全可以预期的。 : 你可能coding很快,可能会玩一些fancy的东西,但是,你敲键盘的速度,远远高于大 : 脑进行严肃思考的速度。
|
l****n 发帖数: 156 | 39 请围观疯狗现身,呵呵。
【在 p**r 的大作中提到】 : 戳中你这种穷逼老狗的要害了,急眼了 : 你就是一个穷逼老狗,一把年纪了也没做成什么事情。 : 十足一个loser,这几天脑发热了想做个软件。 : 结果发现自己很傻逼已经跟不上形势了,又他妈的没钱。 : 所以跑到论坛上来问。 : 瞧你这种傻逼像,老子回答你那么多,不感谢一下,还他妈的忽悠, : 知道你为啥老狗一条了还没钱吗? : 不是你脑残傻逼,而是你做人有问题,懂吧, : 你这辈子也就一个傻逼。 : 别再网上BB说你多有钱多有背景啥的了,吃屎去吧,
|
l****n 发帖数: 156 | 40 这是我的帖子,该消失的是你。
不要脏了我的帖子。
我深刻怀疑,高手就是因为你的存在,都不屑于在这里现身。
【在 p**r 的大作中提到】 : 期待你妈逼,你这种老狗这辈子也不会有出息了,老loser一个,滚!
|
|
|
p**r 发帖数: 5853 | 41 老狗,下次想免费咨询的时候客气点,
你这个账号我关注了,见一次骂一次。
换个账号再来吧,
记得拉完屎擦屁股,别直接抹你自己脸上。
【在 l****n 的大作中提到】 : 请围观疯狗现身,呵呵。
|
p**r 发帖数: 5853 | 42 脏你妈逼,穷老狗。
哥最喜欢就是抽你这种不要脸的老狗,
明明没钱想免费咨询,还非要装得自己多高大上,
见一次打一次。
【在 l****n 的大作中提到】 : 这是我的帖子,该消失的是你。 : 不要脏了我的帖子。 : 我深刻怀疑,高手就是因为你的存在,都不屑于在这里现身。
|
l****n 发帖数: 156 | 43 我是在请教高手,没想到招来你这条疯狗。
【在 p**r 的大作中提到】 : 老狗,下次想免费咨询的时候客气点, : 你这个账号我关注了,见一次骂一次。 : 换个账号再来吧, : 记得拉完屎擦屁股,别直接抹你自己脸上。
|
l****n 发帖数: 156 | 44 Do not flatter yourself.
我自己就是程序员出身,不会找你这种无知的蠢货咨询。
而且,还是疯狗+蠢货。
【在 p**r 的大作中提到】 : 脏你妈逼,穷老狗。 : 哥最喜欢就是抽你这种不要脸的老狗, : 明明没钱想免费咨询,还非要装得自己多高大上, : 见一次打一次。
|
l****n 发帖数: 156 | 45 你吃屎了吗?怎么嘴这么脏?
【在 p**r 的大作中提到】 : 老狗,下次想免费咨询的时候客气点, : 你这个账号我关注了,见一次骂一次。 : 换个账号再来吧, : 记得拉完屎擦屁股,别直接抹你自己脸上。
|
l****n 发帖数: 156 | 46 ***************
瞧你这种傻逼像,老子回答你那么多,不感谢一下,还他妈的忽悠,
知道你为啥老狗一条了还没钱吗?
****************
我忽悠你什么了?你自己不知趣,喋喋不休地暴露你的无知和狂妄。
也许有人曾经忽悠你做项目,我可没有。
从你第一次的回复,我就知道你有多愚蠢了。
****************
别再网上BB说你多有钱多有背景啥的了,吃屎去吧,
有钱有势有脑子的人早就自己在run了。
****************
你神经错乱了吧,我什么时候说”有钱有背景“了。 |
w***g 发帖数: 5958 | 47 用visual basic最好。
【在 l****n 的大作中提到】 : 税务的规则经常变,至少是微调。 : 所以想定义一个规则库,每年只需要更新规则,然后软件根据规则的semantatics(不 : 是syntax),自动生成各种计算规则。 : 目的很简单,就是报税软件能自我更新,不要把每年的维护更新变成一项体力活。 : 请高手指教。
|
l****n 发帖数: 156 | 48 我说说我的想法吧。
两个备选项。
一个是在lisp家族里选一个。
另一个是algol家族成员,先用perl,如果性能还过得去,就这么着了。如果性能不行
,就用perl做prototyping,再用c实现。
我说的是核心模块,UI随便。为了跨平台,选用python+qt的可能比较大。
【在 w***g 的大作中提到】 : 用visual basic最好。
|
l*******w 发帖数: 61 | 49 这个有想法意思。不知楼主所提的“规则”具体指的是什么?是税法规定吗?
个人感觉商业前景不小。
pker所指的软件开发工作量可能不包括这些规则,所以相对而言是有点微不足道。感觉
用什么开发语言无所谓,用一个熟悉的即可。三年也许够了?
如需找一个语言表达规则,则需对规则有详细了解,才能判断语言是否合适。有谁对税
规详细了解吗?
也许可以自创一种语言或数据结构定义,系统内部自用,随着对税规了解的深入,不断
完善 |
l****n 发帖数: 156 | 50 谢谢回复。
我说的”规则“,是有关税法的,但是要经过抽象,不是具体规则,而是用来产生运算
规则。
因为具体规则年年会变,软件每年的更新,就会变成重体力劳动。
例如,加拿大有政党提出,以后炒卖房产,不再算个人的capital gain,而是business
income。
试想,如果这条政策成真,软件的更改不是很麻烦?
另一个例子,加拿大夫妻联合报税抵扣这件事情,已经改了两次,不排除保守党上台后
再改一次。如果软件不能自己生成逻辑,这样的修改就没有尽头。
【在 l*******w 的大作中提到】 : 这个有想法意思。不知楼主所提的“规则”具体指的是什么?是税法规定吗? : 个人感觉商业前景不小。 : pker所指的软件开发工作量可能不包括这些规则,所以相对而言是有点微不足道。感觉 : 用什么开发语言无所谓,用一个熟悉的即可。三年也许够了? : 如需找一个语言表达规则,则需对规则有详细了解,才能判断语言是否合适。有谁对税 : 规详细了解吗? : 也许可以自创一种语言或数据结构定义,系统内部自用,随着对税规了解的深入,不断 : 完善
|
|
|
a9 发帖数: 21638 | 51 放心吧,你这软件做不出来
business
【在 l****n 的大作中提到】 : 谢谢回复。 : 我说的”规则“,是有关税法的,但是要经过抽象,不是具体规则,而是用来产生运算 : 规则。 : 因为具体规则年年会变,软件每年的更新,就会变成重体力劳动。 : 例如,加拿大有政党提出,以后炒卖房产,不再算个人的capital gain,而是business : income。 : 试想,如果这条政策成真,软件的更改不是很麻烦? : 另一个例子,加拿大夫妻联合报税抵扣这件事情,已经改了两次,不排除保守党上台后 : 再改一次。如果软件不能自己生成逻辑,这样的修改就没有尽头。
|
l****n 发帖数: 156 | 52 谢谢回复,打击没关系,只要不骂人就好。
【在 a9 的大作中提到】 : 放心吧,你这软件做不出来 : : business
|
l******n 发帖数: 55 | 53 我既不懂税,更不懂programming ,特别不懂为啥马工要自断生路。你写了一个软件,
创造了五个工作岗位,才是好样的。你写了一个软件,从此所有马工包括自己都失业了
,太缺德了吧?
【在 l****n 的大作中提到】 : 税务的规则经常变,至少是微调。 : 所以想定义一个规则库,每年只需要更新规则,然后软件根据规则的semantatics(不 : 是syntax),自动生成各种计算规则。 : 目的很简单,就是报税软件能自我更新,不要把每年的维护更新变成一项体力活。 : 请高手指教。
|
d********u 发帖数: 5383 | 54 你装逼过猛了。讲真,你的智商不足以在一个月内能理解商业逻辑。
你也就写个hello world什么的混吃等死。
【在 p**r 的大作中提到】 : 哥们,估计你是在MS之类的养老公司混的吧。 : 现在这种小项目,不需要团队协作的,谁还花2天写需求啊。 : 当然2天有点夸张了,一星期应该可以搞定。 : Agile Agile Agile 重要的事情说三遍。 : 这种规模的软件,先上个FS的码农2,3天写完。 : 然后看看IRS或者找个会计所弄批数据过来TDD,搞定。 : 然后泡妞看片打游戏3星期,交货!
|
j*****w 发帖数: 1 | 55 这个项目的核心难度在于用 NLP 精确分析税法定义的规则,然后转化成程序。至于用
哪种编程语言,并不是核心问题。这个项目在局部范围可能可以做到,但是要完全的正
确目前暂时无解。
【在 l****n 的大作中提到】 : 税务的规则经常变,至少是微调。 : 所以想定义一个规则库,每年只需要更新规则,然后软件根据规则的semantatics(不 : 是syntax),自动生成各种计算规则。 : 目的很简单,就是报税软件能自我更新,不要把每年的维护更新变成一项体力活。 : 请高手指教。
|
p**r 发帖数: 5853 | 56 不好意思,说到MS养老戳到你隐藏的自卑心了。
这傻逼的需求主要是对TAX规则进行解析,不存在商业逻辑问题。
还有写hello world能混吃等死的
比写平衡二叉树混吃等死的智商高不是一点点。
【在 d********u 的大作中提到】 : 你装逼过猛了。讲真,你的智商不足以在一个月内能理解商业逻辑。 : 你也就写个hello world什么的混吃等死。
|
b***i 发帖数: 3043 | 57 你能不能举个例子?没有例子,就像你说红色,他想的是蓝色
我说的例子,是具体的,把税法的一条说出来,然后你要做的中间的那个东西是什么形
式的说出来,最后编程要做什么
business
【在 l****n 的大作中提到】 : 谢谢回复。 : 我说的”规则“,是有关税法的,但是要经过抽象,不是具体规则,而是用来产生运算 : 规则。 : 因为具体规则年年会变,软件每年的更新,就会变成重体力劳动。 : 例如,加拿大有政党提出,以后炒卖房产,不再算个人的capital gain,而是business : income。 : 试想,如果这条政策成真,软件的更改不是很麻烦? : 另一个例子,加拿大夫妻联合报税抵扣这件事情,已经改了两次,不排除保守党上台后 : 再改一次。如果软件不能自己生成逻辑,这样的修改就没有尽头。
|
l****n 发帖数: 156 | 58 谢谢回复,我举个例子。
IRS有个PFIC-compliant report的规定,简单说,针对美国纳税居民申报持有外国基金
的税务处理,对应的FORM 8621。因为跨境居住的美加居民比较多,所以这个问题还是比
较常见的。
我当然可以把目前的规则HARD CODING到代码里。
但是,关于加拿大的RESP账户,一直存在争议。如果IRS改变主意了,承认RESP和RRSP
具有同样地位,RESP不再属于PFIC了,软件该怎么办呢?
我当然可以打开EMACS,一行一行改代码。
然后,IRS又改变注意了,承认加拿大的TFSA也具有同样地位。
然后,IRS又承认欧洲的某个国家的基金不是PFIC了(因为其主要投资于美国)。
然后,IRS又承认百慕大的某个基金不是PFIC了。
然后。。。。。
可是我不想这么做,不想把每年的软件更新变成一项体力劳动。
所以,我想把税法的具体规则抽象出来,用一种类似简单英语的表示方法,存在JSON里。
每年开春,我就根据IRS的新规则,更新一下这个JSON文本,然后软件会对其做
semantics parsing,产生新的运算规则,并生成新的版本。
我发帖的目的,就是想请问这个做parsing的软件,有什么更好的选择?
(我目前想到的是lisp family,或者Perl/C).
这只是个例子,如果仅限于此,问题是可以通过template和regex解决的。
而税法包罗万象,各种因素交叉作用,复杂度远高于此,必须通过semantics parsing
才能真正避免hard coding.
我解释清楚了吗?
【在 b***i 的大作中提到】 : 你能不能举个例子?没有例子,就像你说红色,他想的是蓝色 : 我说的例子,是具体的,把税法的一条说出来,然后你要做的中间的那个东西是什么形 : 式的说出来,最后编程要做什么 : : business
|
x***4 发帖数: 1815 | 59 读懂税法的难度高于alphago下围棋。就这么简单。不要再浪费时间了。
RRSP
【在 l****n 的大作中提到】 : 谢谢回复,我举个例子。 : IRS有个PFIC-compliant report的规定,简单说,针对美国纳税居民申报持有外国基金 : 的税务处理,对应的FORM 8621。因为跨境居住的美加居民比较多,所以这个问题还是比 : 较常见的。 : 我当然可以把目前的规则HARD CODING到代码里。 : 但是,关于加拿大的RESP账户,一直存在争议。如果IRS改变主意了,承认RESP和RRSP : 具有同样地位,RESP不再属于PFIC了,软件该怎么办呢? : 我当然可以打开EMACS,一行一行改代码。 : 然后,IRS又改变注意了,承认加拿大的TFSA也具有同样地位。 : 然后,IRS又承认欧洲的某个国家的基金不是PFIC了(因为其主要投资于美国)。
|
b***i 发帖数: 3043 | 60 不如让政府规定税法的时候就用编程语言来描述。
当年国防部要供货商提供芯片,用语言描述总是不准确,然后发明了一个语言叫VHDL。
RRSP
【在 l****n 的大作中提到】 : 谢谢回复,我举个例子。 : IRS有个PFIC-compliant report的规定,简单说,针对美国纳税居民申报持有外国基金 : 的税务处理,对应的FORM 8621。因为跨境居住的美加居民比较多,所以这个问题还是比 : 较常见的。 : 我当然可以把目前的规则HARD CODING到代码里。 : 但是,关于加拿大的RESP账户,一直存在争议。如果IRS改变主意了,承认RESP和RRSP : 具有同样地位,RESP不再属于PFIC了,软件该怎么办呢? : 我当然可以打开EMACS,一行一行改代码。 : 然后,IRS又改变注意了,承认加拿大的TFSA也具有同样地位。 : 然后,IRS又承认欧洲的某个国家的基金不是PFIC了(因为其主要投资于美国)。
|
|
|
l****n 发帖数: 156 | 61 闲着也是闲着,呵呵。
不过,你拿税法和围棋相比,太夸张了.
我读过加拿大的税法,逻辑条理清晰.
http://laws-lois.justice.gc.ca/PDF/I-3.3.pdf
【在 x***4 的大作中提到】 : 读懂税法的难度高于alphago下围棋。就这么简单。不要再浪费时间了。 : : RRSP
|
l****n 发帖数: 156 | 62 呵呵,时代问题,毕竟税法的历史,比编程语言悠久得多。
不过我读税法的时候,感觉逻辑是相当清晰的。
一旦你习惯了其语言风格,就会发现,其实挺简单的。
这种法律文书的特点就是,"不说人话“, 本来非常common sense的东西,它总要用复
杂拗口的方式说出来,宣称是为了严谨。
http://laws-lois.justice.gc.ca/PDF/I-3.3.pdf
【在 b***i 的大作中提到】 : 不如让政府规定税法的时候就用编程语言来描述。 : 当年国防部要供货商提供芯片,用语言描述总是不准确,然后发明了一个语言叫VHDL。 : : RRSP
|
j**y 发帖数: 462 | 63 实际上pker说的不错 不知道为啥生气了
你要的核心就是一个解释器
最复杂的情况
解释器可以直接解读税法。哈哈
中间情况
你解读税法 总结 然后解释器再解读你的总结
最简单的情况
你直接写code 或xml yml json
解释器(现成的)解读
总之。嘿嘿
【在 l****n 的大作中提到】 : 呵呵,时代问题,毕竟税法的历史,比编程语言悠久得多。 : 不过我读税法的时候,感觉逻辑是相当清晰的。 : 一旦你习惯了其语言风格,就会发现,其实挺简单的。 : 这种法律文书的特点就是,"不说人话“, 本来非常common sense的东西,它总要用复 : 杂拗口的方式说出来,宣称是为了严谨。 : http://laws-lois.justice.gc.ca/PDF/I-3.3.pdf
|
s*********y 发帖数: 6151 | 64 pker大牛 听您说话很有道理 咱虽不能至 心向往之。 不知道大牛有github否? 想
过去瞻仰瞻仰 学习学习。。。p
【在 p**r 的大作中提到】 : Full Stack, : 听完客户BB后, : 能一个人出方案,然后自己分层,做数据库,写前后台,写UI的码农。
|
g****t 发帖数: 31659 | 65 法律的复杂性和软件的复杂性是类似的。
都是因为有人钻空子,所以补丁加补丁弄出来。
你看到了common sense工作的一面
没看到common sense不work的一面。
这点你都不明白,我看还是别做了。
: 呵呵,时代问题,毕竟税法的历史,比编程语言悠久得多。
: 不过我读税法的时候,感觉逻辑是相当清晰的。
: 一旦你习惯了其语言风格,就会发现,其实挺简单的。
: 这种法律文书的特点就是,"不说人话“, 本来非常common
sense的东西,它总
要用复
: 杂拗口的方式说出来,宣称是为了严谨。
: http://laws-lois.justice.gc.ca/PDF/I-3.3.pdf
【在 l****n 的大作中提到】 : 呵呵,时代问题,毕竟税法的历史,比编程语言悠久得多。 : 不过我读税法的时候,感觉逻辑是相当清晰的。 : 一旦你习惯了其语言风格,就会发现,其实挺简单的。 : 这种法律文书的特点就是,"不说人话“, 本来非常common sense的东西,它总要用复 : 杂拗口的方式说出来,宣称是为了严谨。 : http://laws-lois.justice.gc.ca/PDF/I-3.3.pdf
|
g****t 发帖数: 31659 | 66 Pker言之有物这点我同意。
但是pker对问题的难度可能估计过低了。
最简单的算账问题。
有个问题我以前做过,例如几十张表,按元统
计和按万元统计的不同口径,会破坏A B=C
这样的关系。那么就会出乱子。
这种问题最后只能问用户如何trade off。
你问任何一个炒股的,都会对TD这种大
券商的统计有个人意见。这里不好,那里不好。
这是因为大券商出的东西是平均需求的。
就是说对一个需求的开发,会产生新的需求。
会一拖再拖。
: 实际上pker说的不错 不知道为啥生气了
: 你要的核心就是一个解释器
: 最复杂的情况
: 解释器可以直接解读税法。哈哈
: 中间情况
: 你解读税法 总结 然后解释器再解读你的总结
: 最简单的情况
: 你直接写code 或xml yml json
: 解释器(现成的)解读
: 总之。嘿嘿
【在 j**y 的大作中提到】 : 实际上pker说的不错 不知道为啥生气了 : 你要的核心就是一个解释器 : 最复杂的情况 : 解释器可以直接解读税法。哈哈 : 中间情况 : 你解读税法 总结 然后解释器再解读你的总结 : 最简单的情况 : 你直接写code 或xml yml json : 解释器(现成的)解读 : 总之。嘿嘿
|
l****n 发帖数: 156 | 67 还是回到sematics parsing的话题吧。
想讨论税法的话,另外开贴吧。
【在 g****t 的大作中提到】 : 法律的复杂性和软件的复杂性是类似的。 : 都是因为有人钻空子,所以补丁加补丁弄出来。 : 你看到了common sense工作的一面 : 没看到common sense不work的一面。 : 这点你都不明白,我看还是别做了。 : : : 呵呵,时代问题,毕竟税法的历史,比编程语言悠久得多。 : : 不过我读税法的时候,感觉逻辑是相当清晰的。 : : 一旦你习惯了其语言风格,就会发现,其实挺简单的。 : : 这种法律文书的特点就是,"不说人话“, 本来非常common
|
w********m 发帖数: 1137 | 68 我其实做过类似的。几十本书的if then的hard coding。
客户最后把逻辑全部放到了sql的stored procedure。
前台直接通数据库。没有用任何语言。牛逼吧。
为什么了?
因为SQL developer比较便宜。
所以很多传统行业都用stored procedure。
所以,会计这一行现在没法disrupt。
因为税法天天变。即使一个SQL developer,也不一定比养个会计便宜。
等十年以后,AI发达到可以自己读书写逻辑。会计就会被马工取代了。
【在 l****n 的大作中提到】 : 谢谢回复,您很靠谱,洞察了问题的复杂性。 : 不过我要乐观一些,不同if/then之间的关联性也是可以用规则描述的。 : 请问您推荐什么语言来实现这些if/then的定义(或者说"生成“更合适)?
|
S*****e 发帖数: 6676 | 69 俺觉得做成云端的比较靠谱点,说到底这些不都是体力活么。。。 |
p**r 发帖数: 5853 | 70 骂归骂,讨论归讨论。
你说的这2个例子,其实就是看设计/抽象的功力了。
比如说房地产收益,可以抽象成收益,
至于是按个人还是按商业走,算是收益的类型,
每种类型针对不同扣税比例%,复杂一点可以针对不同的公式。
如果这样走的话,你代码部分就不用改,只是改一个收益类型。
夫妻联合保税这种也可以抽象成类似coupon code的做法,
每年一个code,每个code针对不提供比例,或者公式。
商业逻辑我不懂,但是任何商业应用开发,就是一个抽得上去,收得回来的问题。
你这个小破软件,规则再复杂,
你抽象抽得好,祖母级别的class写得好,配合relationship关联,后面就代码维护就
省力。
但是凡事都有好的一面,必然也有坏的。
你抽象也要抽到某个平衡点,抽过头了,自己下面集成的时候累死,
比如抽象到尽头,那就是语言本身了。
语言没什么太多区别,
有些本身native带各种功能的,
有些framework支持多的,
开发起来没区别。
再说现在这世道,作为一个码农,还要纠结语言,只能说你学习能力太慢了。
哥刚起床给你说几句,有用没用你自己想想,
哥现在要出门冲浪去了,晚上回来再看看你这怂人有啥说的。
business
【在 l****n 的大作中提到】 : 还是回到sematics parsing的话题吧。 : 想讨论税法的话,另外开贴吧。
|
|
|
p**r 发帖数: 5853 | 71 我大牛个屁,就一斧头帮的混日子的。
这葵花板块至少一半码农的技术能甩我几条街。
我只是好管闲事,不管自己水平如何,都喜欢给人出出主意,顺便刷脸装个逼
很惭愧的说,之前一直在用c#,啥东西都放tfs
至于github,空有一个账号
【在 s*********y 的大作中提到】 : pker大牛 听您说话很有道理 咱虽不能至 心向往之。 不知道大牛有github否? 想 : 过去瞻仰瞻仰 学习学习。。。p
|
g****t 发帖数: 31659 | 72 你上来问语言选择。那么这个水平自己玩玩prototype 可以。
法律语言的机器处理我不看好你能做出来产品。
: 还是回到sematics parsing的话题吧。
: 想讨论税法的话,另外开贴吧。
【在 l****n 的大作中提到】 : 还是回到sematics parsing的话题吧。 : 想讨论税法的话,另外开贴吧。
|
l****n 发帖数: 156 | 73 越说越岔开了,哪里有什么”法律语言的机器处理“呀。
前面有人拿alphago说事,我就举个例子,说明税法虽然繁复,但是有明确的逻辑,仅
此而已。
我只是想把税法的计算规则抽象一下而已,免得年年修改源代码。
【在 g****t 的大作中提到】 : 你上来问语言选择。那么这个水平自己玩玩prototype 可以。 : 法律语言的机器处理我不看好你能做出来产品。 : : : 还是回到sematics parsing的话题吧。 : : 想讨论税法的话,另外开贴吧。 :
|
e*******o 发帖数: 4654 | 74 我只是想把税法的计算规则抽象一下而已,免得年年修改源代码。
你先具体再抽象
把一年的搞出来,另一年在搞,第三年就知道咋抽象了。
一步到位,我不觉得现在的技术水平可以做到。
语言这没啥关系,如果你不知道哪个,Python。
Perl的话,我之前是靠Perl 吃饭的,不看好。
【在 l****n 的大作中提到】 : 越说越岔开了,哪里有什么”法律语言的机器处理“呀。 : 前面有人拿alphago说事,我就举个例子,说明税法虽然繁复,但是有明确的逻辑,仅 : 此而已。 : 我只是想把税法的计算规则抽象一下而已,免得年年修改源代码。
|
l****n 发帖数: 156 | 75 大概知道怎么抽象税务方面的概念。
现在思考的问题是,选用合适的语言,对抽象后的概念,做semantics parsing。
首选是lisp family的成员。
python+qt我会用来做UI,但不会用来做核心。
【在 e*******o 的大作中提到】 : 我只是想把税法的计算规则抽象一下而已,免得年年修改源代码。 : 你先具体再抽象 : 把一年的搞出来,另一年在搞,第三年就知道咋抽象了。 : 一步到位,我不觉得现在的技术水平可以做到。 : 语言这没啥关系,如果你不知道哪个,Python。 : Perl的话,我之前是靠Perl 吃饭的,不看好。
|
b***i 发帖数: 3043 | 76 一看就是有经验的,我也支持这种先搞两年。
如果规则就是if/then,我支持用lua来写。但是无论怎么写,这些规则的代码都要每年
更新。这个想法我觉得不是创新。我觉得现在的那些可以用的网站和软件就是这样做的
。大不了规则是jar文件写的,每年下载一个新的,通过reflection可以调用。用DLL也
行,也可以每年更新逻辑,不改UI等其他部分。
如果规则是更高级的抽象,大概得定义一种税法语言了。
【在 e*******o 的大作中提到】 : 我只是想把税法的计算规则抽象一下而已,免得年年修改源代码。 : 你先具体再抽象 : 把一年的搞出来,另一年在搞,第三年就知道咋抽象了。 : 一步到位,我不觉得现在的技术水平可以做到。 : 语言这没啥关系,如果你不知道哪个,Python。 : Perl的话,我之前是靠Perl 吃饭的,不看好。
|
l****n 发帖数: 156 | 77 if/then是某人说的,我觉得不是关键问题,所以没有澄清而已。
本质上,我要的是semantics parsing。
我不愿意用"税法标记语言“ 这种 ”大词“(低调,低调,呵呵),不过你既然提到
了,我想要来定义税法规则的,就是一套专用的”symbolic table"。
每年更新的”规则代码“,我需要系统自动生成(我只需要在symbolic table做很少的
改动)。
否则,每年的更新就变成了体力劳动。
坦率来说,做一个只能处理简单税务情况的报税软件,完全没有意义(无论是技术上的
,还是商业上的)。在这一点上,我和某个喜欢骂人的ID意见是一致的。
【在 b***i 的大作中提到】 : 一看就是有经验的,我也支持这种先搞两年。 : 如果规则就是if/then,我支持用lua来写。但是无论怎么写,这些规则的代码都要每年 : 更新。这个想法我觉得不是创新。我觉得现在的那些可以用的网站和软件就是这样做的 : 。大不了规则是jar文件写的,每年下载一个新的,通过reflection可以调用。用DLL也 : 行,也可以每年更新逻辑,不改UI等其他部分。 : 如果规则是更高级的抽象,大概得定义一种税法语言了。
|
g****t 发帖数: 31659 | 78 C#或者java吧
Python根基不稳
: 大概知道怎么抽象税务方面的概念。
: 现在思考的问题是,选用合适的语言,对抽象后的概念,做semantics parsing。
: 首选是lisp family的成员。
: python qt我会用来做UI,但不会用来做核心。
【在 l****n 的大作中提到】 : if/then是某人说的,我觉得不是关键问题,所以没有澄清而已。 : 本质上,我要的是semantics parsing。 : 我不愿意用"税法标记语言“ 这种 ”大词“(低调,低调,呵呵),不过你既然提到 : 了,我想要来定义税法规则的,就是一套专用的”symbolic table"。 : 每年更新的”规则代码“,我需要系统自动生成(我只需要在symbolic table做很少的 : 改动)。 : 否则,每年的更新就变成了体力劳动。 : 坦率来说,做一个只能处理简单税务情况的报税软件,完全没有意义(无论是技术上的 : ,还是商业上的)。在这一点上,我和某个喜欢骂人的ID意见是一致的。
|
l*******w 发帖数: 61 | 79 "先具体再抽象"
有道理。
上面楼主贴的加拿大税法,3164页,英法双语。所以英文版约1600页。有可能通读后,
用它几年,辅之以几本好点的教科书,领悟形成一个合适的抽象框架。想来大部分纳税
人的需求以及相关税规是就可以用合适的数据结构或语言来描述了。
相比之下,美国所得税法约75000页。通读怕是不现实,一个人一生能读几页专业书?
哪怕小学课本也算。现在AI/ML软件水平怕也还不够。估计以现在软件水平,只能将税
规逻辑分割成小块,逐个击破。
如果人都搞不懂这些税规逻辑,现在的软件水平估计也难以实现。 |
r*****g 发帖数: 9999 | 80 楼主是玩票,还是真的把这事当business来做?后者的话太晚了吧,turbo tax已经一
统江湖了。
【在 l****n 的大作中提到】 : 我说说我的想法吧。 : 两个备选项。 : 一个是在lisp家族里选一个。 : 另一个是algol家族成员,先用perl,如果性能还过得去,就这么着了。如果性能不行 : ,就用perl做prototyping,再用c实现。 : 我说的是核心模块,UI随便。为了跨平台,选用python+qt的可能比较大。
|
|
|
d******c 发帖数: 2407 | 81 你要的实际是一个DSL
所以就看DSL如何定义,然后用什么语言去实现这个DSL。
前面有个回帖已经说过了,
税法-人理解-DSL 抽象-语言实现
这几个环节哪个都不能少。人不能少因为AI做不到。DSL不能少因为任何编程语言都不
能直接适合这个任务。
DSL设计的足够好,能让人比较容易写抽象规则就是最大的胜利。
【在 l****n 的大作中提到】 : 大概知道怎么抽象税务方面的概念。 : 现在思考的问题是,选用合适的语言,对抽象后的概念,做semantics parsing。 : 首选是lisp family的成员。 : python+qt我会用来做UI,但不会用来做核心。
|
l*******w 发帖数: 61 | 82 楼主所指:
------------------------
专用的”symbolic table"
------------------------
看看我理解得对不对。
假设税法大都永远不变,但仅税率不断在变。那么这个”symbolic table"只需记录税
率即可。每次改税率数值,软件不用变。这样楼主的目的就实现了。
但实际上,税率之外还有其他的逻辑也在变,那么这个”symbolic table"如也能记录
下这些变动的逻辑,当税法变化时,只需改变这个”symbolic table",软件不用变。
这样楼主的目的也就实现了。
楼主是想用软件去读税法,再填入这个”symbolic table",还是这个”symbolic
table"本身就是一些软件片段(如某种script language,楼主想选一个合适的)? |
l****n 发帖数: 156 | 83 没打算用软件去读税法(这个远超出我能编程的范畴)。解读自然语言这一步,目前还
是人来做比较靠谱。
我来读税法,根据我对税法的理解,去更新这个symbolic table。
symbolic table里不含任何程序逻辑,只是一套纯粹的自定义标记方法;这些标记经过
semantics parsing后,产生运算逻辑(税表里的加减乘除)。
我的问题是,用什么语言做semantics parsing?
我的初步想法是lisp或者perl/c,想在这个论坛听到有价值的想法。
不是说c#/java不可以,但肯定不是一个好选择。
【在 l*******w 的大作中提到】 : 楼主所指: : ------------------------ : 专用的”symbolic table" : ------------------------ : 看看我理解得对不对。 : 假设税法大都永远不变,但仅税率不断在变。那么这个”symbolic table"只需记录税 : 率即可。每次改税率数值,软件不用变。这样楼主的目的就实现了。 : 但实际上,税率之外还有其他的逻辑也在变,那么这个”symbolic table"如也能记录 : 下这些变动的逻辑,当税法变化时,只需改变这个”symbolic table",软件不用变。 : 这样楼主的目的也就实现了。
|
e*******o 发帖数: 4654 | 84 就是弄个dsl 嘛
Perl
regexp::grammar
或者 marpar
各种语言都有类似的
跟你说了 一开始 完全没必要搞这个 先手动弄好再说
【在 l****n 的大作中提到】 : 没打算用软件去读税法(这个远超出我能编程的范畴)。解读自然语言这一步,目前还 : 是人来做比较靠谱。 : 我来读税法,根据我对税法的理解,去更新这个symbolic table。 : symbolic table里不含任何程序逻辑,只是一套纯粹的自定义标记方法;这些标记经过 : semantics parsing后,产生运算逻辑(税表里的加减乘除)。 : 我的问题是,用什么语言做semantics parsing? : 我的初步想法是lisp或者perl/c,想在这个论坛听到有价值的想法。 : 不是说c#/java不可以,但肯定不是一个好选择。
|
b***i 发帖数: 3043 | 85 你先把symbolic table里面的内容给几个例子吧。请给出5个,和原来的税法的内容对
应起来。
产生逻辑的应该没有难度,比如用Java?因为java有很多开源的软件,我看你这个类似
编译程序,解释程序啥的,最适合解释你的symbolic table的内容了。
【在 l****n 的大作中提到】 : 没打算用软件去读税法(这个远超出我能编程的范畴)。解读自然语言这一步,目前还 : 是人来做比较靠谱。 : 我来读税法,根据我对税法的理解,去更新这个symbolic table。 : symbolic table里不含任何程序逻辑,只是一套纯粹的自定义标记方法;这些标记经过 : semantics parsing后,产生运算逻辑(税表里的加减乘除)。 : 我的问题是,用什么语言做semantics parsing? : 我的初步想法是lisp或者perl/c,想在这个论坛听到有价值的想法。 : 不是说c#/java不可以,但肯定不是一个好选择。
|
l****n 发帖数: 156 | 86 首先,不是和税法的严格对应。其实,机械严格的对应这是我要避免的。
以加拿大税法为例,纳税人有不少于五个表示:
individual(个人,工资收入)
institutional(例如incorporated)
combined(例如sole proprietorship的个人,工资收入和经营收入合并报税)
non-atomic(例如partnership)
fictional(例如trust)
为防止某人乱喷(不是针对你啊,呵呵),先说明:
这里不适用OO的方法,所以别再发表什么祖母类/继承之类的幼稚言论了。
【在 b***i 的大作中提到】 : 你先把symbolic table里面的内容给几个例子吧。请给出5个,和原来的税法的内容对 : 应起来。 : 产生逻辑的应该没有难度,比如用Java?因为java有很多开源的软件,我看你这个类似 : 编译程序,解释程序啥的,最适合解释你的symbolic table的内容了。
|
F*********0 发帖数: 602 | 87 估计我是幼稚类的了
【在 l****n 的大作中提到】 : 首先,不是和税法的严格对应。其实,机械严格的对应这是我要避免的。 : 以加拿大税法为例,纳税人有不少于五个表示: : individual(个人,工资收入) : institutional(例如incorporated) : combined(例如sole proprietorship的个人,工资收入和经营收入合并报税) : non-atomic(例如partnership) : fictional(例如trust) : 为防止某人乱喷(不是针对你啊,呵呵),先说明: : 这里不适用OO的方法,所以别再发表什么祖母类/继承之类的幼稚言论了。
|
l****n 发帖数: 156 | 88 呵呵,也不是针对你。
【在 F*********0 的大作中提到】 : 估计我是幼稚类的了
|
l****n 发帖数: 156 | 89 我一直在避免用“大词”,呵呵,DSL这个词对我来说太大了。
不过我如果一开始多用几个“大词”,也许就不用有人进来胡喷骂人了。
【在 d******c 的大作中提到】 : 你要的实际是一个DSL : 所以就看DSL如何定义,然后用什么语言去实现这个DSL。 : 前面有个回帖已经说过了, : 税法-人理解-DSL 抽象-语言实现 : 这几个环节哪个都不能少。人不能少因为AI做不到。DSL不能少因为任何编程语言都不 : 能直接适合这个任务。 : DSL设计的足够好,能让人比较容易写抽象规则就是最大的胜利。
|
d******c 发帖数: 2407 | 90 DSL就是你问题的核心,根据DSL的需求选择语言实现。你问什么具体编程语言实际都偏
离原意,相当于用编程语言直接当DSL。
如果你一开始就写上那几条税法的例子至少大家知道你了解税法。但你原帖让人觉得是
既不懂税也不懂编程,简直是问问题失败的典型。
当然另一个方面招骂的帖子人气足,一个周到严谨的问题说不定没几个人回答。 |
|
|
l****n 发帖数: 156 | 91 谢谢回复。
DSL(呵呵,我借用这个大词)当然是类似英语的一种标识法,和具体编程语言无关。
请问,你建议用什么语言做semantics parsing?
我在lisp和perl之间犹豫,呵呵。
最怕听人说“什么语言都一样”这种话,语言可能没有高下之分,但肯定有不同的适用
领域。
关于说话方式,没办法了,老派的人,从小就知道要谦虚,和那些写了几行C#就自觉天
下无双的年轻人没法比。
【在 d******c 的大作中提到】 : DSL就是你问题的核心,根据DSL的需求选择语言实现。你问什么具体编程语言实际都偏 : 离原意,相当于用编程语言直接当DSL。 : 如果你一开始就写上那几条税法的例子至少大家知道你了解税法。但你原帖让人觉得是 : 既不懂税也不懂编程,简直是问问题失败的典型。 : 当然另一个方面招骂的帖子人气足,一个周到严谨的问题说不定没几个人回答。
|
p**r 发帖数: 5853 | 92 骂你的原因就是因为你不谦虚,
你这样的年纪一把,成就啥都没的老人基本都这个德行,
说不起,一说就急眼,急了就摆出一副倚老卖老的德行,
摇摇头叹气说,现在的年轻人如何如何,
也不想想自己为啥那么一把年纪了还被比自己年纪小的说。
之前论坛有个叫wei叫兽的,也是这德行,
我也追着骂了他很久,并不是说他的技术好不好,而是那种嘴脸实在让人厌恶。
要么你猛如吕布,天下无双,
要么就谦虚一点,
别除了年龄大啥都没,还摆出一副历经沧桑,博览天下众生的嘴脸。
实在让人反胃。
哥也不是什么年轻人,哥有些同龄的同学朋友和90,95后共事,
动不动就感叹现在年轻人如何不懂事,如何自私。
哥都教育他们,我们爸妈这代人也这么看我们,
但是社会一直进步,记住,年轻人永远比我们更厉害,更有远见。
不要用自己的生长环境经历去衡量年轻人。
【在 l****n 的大作中提到】 : 谢谢回复。 : DSL(呵呵,我借用这个大词)当然是类似英语的一种标识法,和具体编程语言无关。 : 请问,你建议用什么语言做semantics parsing? : 我在lisp和perl之间犹豫,呵呵。 : 最怕听人说“什么语言都一样”这种话,语言可能没有高下之分,但肯定有不同的适用 : 领域。 : 关于说话方式,没办法了,老派的人,从小就知道要谦虚,和那些写了几行C#就自觉天 : 下无双的年轻人没法比。
|
p**r 发帖数: 5853 | 93 和无知又年老的人补一句,哥用C写过游戏,用C++写过病毒。
用C#不过是这是一个能以最低付出获取最大利益的语言。
你们这些老东西,一辈子就钻一个眼里,
从来没从哲学/人生高度看过全局,
整天和孔乙己一样嘲笑别人不会写茴的四种写法,
因为除了这个,你们再无放在桌面上的东西了。
除了编程以外,哥再指点你一把人生:
人来这个世界上是为了快乐,不是为了工作,也不是为了创业,
就像哥现在说你,也是哥的众多娱乐方式之一。
和那些写了几行C#就自觉天下无双的年轻人没法比。
【在 l****n 的大作中提到】 : 谢谢回复。 : DSL(呵呵,我借用这个大词)当然是类似英语的一种标识法,和具体编程语言无关。 : 请问,你建议用什么语言做semantics parsing? : 我在lisp和perl之间犹豫,呵呵。 : 最怕听人说“什么语言都一样”这种话,语言可能没有高下之分,但肯定有不同的适用 : 领域。 : 关于说话方式,没办法了,老派的人,从小就知道要谦虚,和那些写了几行C#就自觉天 : 下无双的年轻人没法比。
|
S*****e 发帖数: 6676 | 94 卧槽,“人来这个世界上是为了快乐”忒牛叉了,几句话话糙理不糙。兄弟你在哪里,
有机会一起喝酒吹吹牛B行不?
【在 p**r 的大作中提到】 : 和无知又年老的人补一句,哥用C写过游戏,用C++写过病毒。 : 用C#不过是这是一个能以最低付出获取最大利益的语言。 : 你们这些老东西,一辈子就钻一个眼里, : 从来没从哲学/人生高度看过全局, : 整天和孔乙己一样嘲笑别人不会写茴的四种写法, : 因为除了这个,你们再无放在桌面上的东西了。 : 除了编程以外,哥再指点你一把人生: : 人来这个世界上是为了快乐,不是为了工作,也不是为了创业, : 就像哥现在说你,也是哥的众多娱乐方式之一。 :
|
b***i 发帖数: 3043 | 95 我猜他在San Diego?
【在 S*****e 的大作中提到】 : 卧槽,“人来这个世界上是为了快乐”忒牛叉了,几句话话糙理不糙。兄弟你在哪里, : 有机会一起喝酒吹吹牛B行不?
|
d******c 发帖数: 2407 | 96 重点首先应该在DSL设计上,DSL设计不同,适合用来实现的语言就可以有很大不同,离
开DSL谈语言,相当于一次考虑两件事。
martin fowler在这方面写过很多文章。
https://martinfowler.com/dsl.html
看看他举得例子,regex,CSS,make, ant,哪个是“类似英语的一种标识法”?
和英语的相似性不是重点,适当的抽象才是重点。首先要找到最适合的抽象,所以正则
表达式定义了那么多东西,相当于特定的名词和动词。
【在 l****n 的大作中提到】 : 谢谢回复。 : DSL(呵呵,我借用这个大词)当然是类似英语的一种标识法,和具体编程语言无关。 : 请问,你建议用什么语言做semantics parsing? : 我在lisp和perl之间犹豫,呵呵。 : 最怕听人说“什么语言都一样”这种话,语言可能没有高下之分,但肯定有不同的适用 : 领域。 : 关于说话方式,没办法了,老派的人,从小就知道要谦虚,和那些写了几行C#就自觉天 : 下无双的年轻人没法比。
|
l****n 发帖数: 156 | 97 难道没有一个人认为lisp family member更适合做这个事情吗? |
j******r 发帖数: 3327 | 98 难度不高。不过挣不到什么钱。还不如吃龙虾。
【在 w**z 的大作中提到】 : 你要把联邦税加上50个州税每年的变化,从一般人都看不懂的英语解释,转化成电脑能 : 够parse的规则,我觉得这个难度不是一般的高
|
y*j 发帖数: 3139 | 99 我在用Turbotax之前都是自己手工报税,发现即使像我这种简单的报税都牵涉到很多。
而且一般人报税都希望没有问题,毕竟税务局不是闹着玩的,Turbotax的价格也不是很
贵,加上有足够的Reputation,比较简单的报税基本都免费,所以这个市场只会那么几
家在竞争。
想赚钱,还不如帮别人报税,毕竟很多人都是找会计师报税。
:Pker言之有物这点我同意。
:但是pker对问题的难度可能估计过低了。
:最简单的算账问题。
:有个问题我以前做过,例如几十张表,按元统
:计和按万元统计的不同口径,会破坏A B=C
:这样的关系。那么就会出乱子。
:这种问题最后只能问用户如何trade off。
:你问任何一个炒股的,都会对TD这种大
:券商的统计有个人意见。这里不好,那里不好。
:这是因为大券商出的东西是平均需求的。
:..........
【在 g****t 的大作中提到】 : C#或者java吧 : Python根基不稳 : : : 大概知道怎么抽象税务方面的概念。 : : 现在思考的问题是,选用合适的语言,对抽象后的概念,做semantics parsing。 : : 首选是lisp family的成员。 : : python qt我会用来做UI,但不会用来做核心。 :
|
y*j 发帖数: 3139 | 100 用lisp语言是在找死,看懂和能维护的没有几个。
:难道没有一个人认为lisp family member更适合做这个事情吗?
【在 l****n 的大作中提到】 : 难道没有一个人认为lisp family member更适合做这个事情吗?
|