Newbie - Department of Computer Science, Columbia … · What can a Newbie do? Comment # I’m such...
Transcript of Newbie - Department of Computer Science, Columbia … · What can a Newbie do? Comment # I’m such...
![Page 1: Newbie - Department of Computer Science, Columbia … · What can a Newbie do? Comment # I’m such a noob # enter code below Operate # Hi my name is newbie set x to 10 set y to x](https://reader031.fdocuments.in/reader031/viewer/2022022613/5b9d6aad09d3f275078c51d9/html5/thumbnails/1.jpg)
Newbie
Programming for Dummies (Or highly inexperienced experts)
![Page 2: Newbie - Department of Computer Science, Columbia … · What can a Newbie do? Comment # I’m such a noob # enter code below Operate # Hi my name is newbie set x to 10 set y to x](https://reader031.fdocuments.in/reader031/viewer/2022022613/5b9d6aad09d3f275078c51d9/html5/thumbnails/2.jpg)
Who are We?
Clyde Bazile John Anukem Sebastien Siclait Braxton Gunter Terence Jacobs
![Page 3: Newbie - Department of Computer Science, Columbia … · What can a Newbie do? Comment # I’m such a noob # enter code below Operate # Hi my name is newbie set x to 10 set y to x](https://reader031.fdocuments.in/reader031/viewer/2022022613/5b9d6aad09d3f275078c51d9/html5/thumbnails/3.jpg)
Why Newbie?
![Page 4: Newbie - Department of Computer Science, Columbia … · What can a Newbie do? Comment # I’m such a noob # enter code below Operate # Hi my name is newbie set x to 10 set y to x](https://reader031.fdocuments.in/reader031/viewer/2022022613/5b9d6aad09d3f275078c51d9/html5/thumbnails/4.jpg)
What can a Newbie do?
➔ Comment# I’m such a noob
# enter code below
➔ Operate# Hi my name is newbie
set x to 10set y to xset operators to “+, - ,*, /, ^, %.”print(operators)
➔ Infer# Hi my name is newbie
set x to 10 # type x: intset y to “hello” # type y: string
![Page 5: Newbie - Department of Computer Science, Columbia … · What can a Newbie do? Comment # I’m such a noob # enter code below Operate # Hi my name is newbie set x to 10 set y to x](https://reader031.fdocuments.in/reader031/viewer/2022022613/5b9d6aad09d3f275078c51d9/html5/thumbnails/5.jpg)
1 define function plus_10 with params (a, b)2 set c to 9 + 13 return a + b + c45 define function main with no params6 set x to 17 set y to 18 set out to plus_10(x, y)
Syntax
![Page 6: Newbie - Department of Computer Science, Columbia … · What can a Newbie do? Comment # I’m such a noob # enter code below Operate # Hi my name is newbie set x to 10 set y to x](https://reader031.fdocuments.in/reader031/viewer/2022022613/5b9d6aad09d3f275078c51d9/html5/thumbnails/6.jpg)
input.n00b
codegen.ml
scanner.ml
parser.mly
semant.ml
Newbie Architecture
![Page 7: Newbie - Department of Computer Science, Columbia … · What can a Newbie do? Comment # I’m such a noob # enter code below Operate # Hi my name is newbie set x to 10 set y to x](https://reader031.fdocuments.in/reader031/viewer/2022022613/5b9d6aad09d3f275078c51d9/html5/thumbnails/7.jpg)
Language Features- Easy syntax makes for simple
implementation of algorithms - Types:
- Num- String- Bool
- Control Flow- If, Else, While, For
- Lists/Type Conversion/Coercion
![Page 8: Newbie - Department of Computer Science, Columbia … · What can a Newbie do? Comment # I’m such a noob # enter code below Operate # Hi my name is newbie set x to 10 set y to x](https://reader031.fdocuments.in/reader031/viewer/2022022613/5b9d6aad09d3f275078c51d9/html5/thumbnails/8.jpg)
NoobTesting
![Page 9: Newbie - Department of Computer Science, Columbia … · What can a Newbie do? Comment # I’m such a noob # enter code below Operate # Hi my name is newbie set x to 10 set y to x](https://reader031.fdocuments.in/reader031/viewer/2022022613/5b9d6aad09d3f275078c51d9/html5/thumbnails/9.jpg)
Lessons Learned
- Start early……. very early. - Don’t underestimate how long something
will take, even if you think it’ll be easy. - Every line of OCaml counts….. EVERY
LINE - If you fail to test, your tests will fail.
![Page 10: Newbie - Department of Computer Science, Columbia … · What can a Newbie do? Comment # I’m such a noob # enter code below Operate # Hi my name is newbie set x to 10 set y to x](https://reader031.fdocuments.in/reader031/viewer/2022022613/5b9d6aad09d3f275078c51d9/html5/thumbnails/10.jpg)
Future Work
- Implementing more builtin classes with C.
- More builtin functions to handle walk through of staple algorithms
![Page 11: Newbie - Department of Computer Science, Columbia … · What can a Newbie do? Comment # I’m such a noob # enter code below Operate # Hi my name is newbie set x to 10 set y to x](https://reader031.fdocuments.in/reader031/viewer/2022022613/5b9d6aad09d3f275078c51d9/html5/thumbnails/11.jpg)
DEMO