[spam][crazy][draft] Learning Programming Languages While Dissociated
Languages of interest include: - julia - flutter - go - rust - python - c++ - haskell - lisp - java - ocaml - others? Can we make a hello world app in julia? how do you run julia programs?
Julia Draft, quick review, guesses. Website: https://julialang.org/ Philosophy: speed + scriptability, dynamic typing, reproducible output Compiled: no, use JIT at runtime Package database integration: bundled with language Embed libraries from other languages: Python, C-family, Java Support for Mobile: very immature, hacks needed REPL: yes, with inline help Documentation: https://docs.julialang.org Quote from docs: For large scale numerical problems, speed always has been, continues to be, and probably always will be crucial: the amount of data being processed has easily kept pace with Moore's Law over the past decades. Novel Philosophy: julia observes that objected oriented code is a special case of function overloading, and makes a focus on generalising this overloading concept as "multiple dispatch", organising code around functions or types as the user sees fit. a function overload is hence called a "method" (of the types it takes). This may provide for more flexibility around which larger concepts shared smaller concepts are associated with. Julia is for mathematicians, and latex/unicode symbols are used in source code. Julia has support for writing native GPU code, and provision for metaprogramming. I learned of Julia in a chatroom around data science and AI theory research. Pretrained transformer models are available for direct inclusion in software in the official package repository. There are also packages for advanced scientific computing # apt-get install julia hello_x.jl hello_x(x) = println("hello " * x) hello_x("world") function hello_x(x) println(string("hello ", x)) end hello_x("world") $ julia hello_x.jl
julia also comes with support with runtime parsing and compilation, with each phase inspectable, string->untyped AST, untyped AST->typed AST, AST->llvm IR, llvm IR->native machine code. functions are compiled the first time they are run with a given set of argument types, and only compiled code is ever executed, but it is all done after the kernel has launched. at a brief glance precompiilation appears supported only up through the typed AST. there is likely a package for full native compilation given that the system provides access to the full native output of its compilation processes.
participants (1)
-
Undiscussed Horrific Abuse, One Victim of Many