#Clojure programming
Explore tagged Tumblr posts
Text
Very amused every time someone discovers the ultimate way to do OOP in its truest, most polymorphic, most object-oriented form and its just immutable classes with public instance variables and no methods and no inheritance being transformed through singleton classes with no instance variables and one side-effect-free method, potentially taking a function as a parameter or returning another single method class. Brother you just reinvented functional programming.
#codeblr#progblr#object oriented programming#OOP#functional programming#Algebraic data types. Pure functions. Higher order functions. Closures. The gangs all here#And then whenever you tell them that what they did. they say its like functional programming but different because its polymorphic#Literally had a conniption when robert martin said he discovered clojure was actually an oop language because#it was better at polymorphism than java#This is without knowing the subtype polymorphic features in clojure
4 notes
·
View notes
Text
If only that would work in coding
) <- super parenthesis. reblog to close all parentheticals you opened and forgot to close in your life and return to equilibrium
69K notes
·
View notes
Text
I'm back
Oh wow, it's been 5 years since last post.
This time I plan to use this little corner of mine on Tumblr to share about LISP programming languages (be it Racket, Clojure, Common Lisp etc)
1 note
·
View note
Text
So, a month ago I finally got a job as a frontend dev, so, hooray,🥳, I now get to enjoy ✨Vue✨ and ✨Nuxt✨ 5 days a week and get paid for that. But since I've been unemployed for a very long time, this sudden change means that I'm even more tired to learn new things in my spare time, and also that there isn't much spare time now. I haven't posted much here before and so it seems I'm unlikely to be more active here in the future. Sad.
I did, though, try to read the 1st book on the list from the website Teach Yourself Computer Science, the one called Structure and Interpretation of Computer Programs (the reason for me to do that is because I don't have any STEM background, and, I guess, if I want to continue a career in a sphere rapidly encroached by AI, it's good to have some fundamental knowledge). I read about a ⅕ of the book, finally understood what it means for Haskell to be called a "lazy" language, but the exercises at the end of the chapters are too hard and math-heavy for me. Also, sad.
The book uses a programming language from the LISP family, called Scheme. I thought I could get by by installing Clojure instead, but that journey ended with the VS Code extension for Clojure, called Calva slowing down and then completely corrupting (?) WSL connection, so that I had then to reinstall my WSL "instance". (Yes, I use Windows, because I'm not a programmer). Which is sad, because the extension looked good and feature-heavy, it just couldn't function well in WSL environment for some reason…
After that, I installed Racket (another LISP) on the freshly reinstalled WSL distro, but then I couldn't pick up the book again and continue learning for, like, a week and a half, which is where I am at now. (Racket allows to define arbitrary syntax/semantics for the compiler, which in turn allows developers to create new domain specific languages distributed simply as Racket packages, with one of those packages being the dialect of Scheme used by SICP, the book mentioned earlier).
There is also the PureScript book, Functional Programming Made Easier by Charles Scalfani, which I'm unlikely to finish ever. The language is neat (it's very similar to Haskell, but compiles to JavaScript), but a bit overcomplicated for a simple goal of making interfaces. I do think, however, that I might try learning Elm at some point: the amount of time I've spent at work, trying to understand, why and at what point the state of some component mutated in a Nuxt app is, honestly, impressive, and I want to try something built around the idea of immutability.
2 notes
·
View notes
Text
im a full time lisp lover. between clojure for services, common lisp for low-level stuff, and janet for scripting i basically don't have to touch a language with significant commas for any personal project. but between you and me everyone who constantly talks about how great and mindblowing lisp is is a total moron. i just like expressions! and prefix notation! literally every advantage other than those two is now spread through like every new programming language. oh lisp is homoiconic? that blows your little mind? i have great news about EVERY LANGUAGE WITH MACROS. FUCKING RUST HAS MACROS. most people think writing the ast themselves is not a positive! the reason you think it's a positive is because you like that syntax, just like i do! you know what's a crazy new paradigm for someone? prolog. smalltalk. hell even haskell has some genuine differences from almost all other languages. basically every lisp is a totally normal dynamic language
7 notes
·
View notes
Note
Ever taken this?
https://mkremins.github.io/genderquiz/
Hell yeah that rules
#me and a friend actually realized this when looking through the source code#though we were admittedly a little bit distracted by the... *interesting* choice of programming language#'java-based functional programming language' doesn't sound like a sequence of words that should exist#also the guy who made the programming language is 'RICH HICKEY' I could not make this up#RICH HICKEY Is Clojure's Benevolent dictator for life this is a Real sentence
223 notes
·
View notes
Text
clojure? they named a programming language after the mechanic girl from arknights???
3 notes
·
View notes
Text
Brazil’s Digital Banking Platform Nubank to Support Research Initiatives at Local Universities
Nubank (NYSE:NU), which claims to be one of the largest digital financial services platforms, announces NuFuturo, an ecosystem developed in partnership with Federal Universities in Brazil to accelerate careers in technology and foster innovation.
The initiative encourages the development of research “related to the fields of technology and finance in the academic environment and the impact they can have on society.”
Currently, NuFuturo is available in the Federal Universities of Campina Grande (UFCG) and Bahia (UFBA and IFBA), with projects that started in January this year.
After approximately 300 applications, “over 40 undergraduate and postgraduate students from Campina Grande (UFCG) and Salvador, Eunápolis, Vitória da Conquista, Feira de Santana, and Santo Amaro (UFBA/IFBA) were selected by specialists of the universities and are undergoing an intensive 18-month program to develop research projects and technological skills, based on systems and technologies used by Nubank, such as Clojure programming and data analysis methodologies.”
Continue reading.
#brazil#politics#brazilian politics#science#education#nubank#mod nise da silveira#image description in alt
2 notes
·
View notes
Text
1 note
·
View note
Text
Sprongloxide is the obvious choice. If you're afraid of using pre 1.0 software then you haven't been programming in enough Clojure.
every software is like. your mission-critical app requires you to use the scrimble protocol to squeeb some snorble files for sprongle expressions. do you use:
libsnorble-2-dev, a C library that the author only distributes as source code and therefore must be compiled from source using CMake
Squeeb.js, which sort of has most of the features you want, but requires about a gigabyte of Node dependencies and has only been in development for eight months and has 4.7k open issues on Github
Squeeh.js, a typosquatting trojan that uses your GPU to mine crypto if you install it by mistake
Sprongloxide, a Rust crate beloved by its fanatical userbase, which has been in version 0.9.* for about four years, and is actually just a thin wrapper for libsnorble-2-dev
GNU Scrimble, a GPLv3-licensed command-line tool maintained by the Free Software Foundation, which has over a hundred different flags, and also comes with an integrated Lisp interpreter for scripting, and also a TUI-based Pong implementation as an "easter egg", and also supports CSV, XML, JSON, PDF, XLSX, and even HTML files, but does not actually come with support for squeebing snorble files for ideological reasons. it does have a boomeresque drawing of a grinning meerkat as its logo, though
Microsoft Scrimble Framework Core, a .NET library that has all the features you need and more, but costs $399 anually and comes with a proprietary licensing agreement that grants Microsoft the right to tattoo advertisements on the inside of your eyelids
snorblite, a full-featured Perl module which is entirely developed and maintained by a single guy who is completely insane and constantly makes blog posts about how much he hates the ATF and the "woke mind-virus", but everyone uses it because it has all the features you need and is distributed under the MIT license
Google Squeebular (deprecated since 2017)
#I have seen no less than 3 Clojure libraries that have a version like 0.3.1-alpha where the developers claim#its a production grade library with a stable API and no future backwards incompatible changes#I think Clojure developers think alpha and beta stability is some sort of Chad alpha male thing#the virgin 1.0 vs the Chad alpha stability
7K notes
·
View notes
Text
Backend Engineer
Qualifications: Strong programming experience in at least one backend friendly language (Clojure, Golang, Python, Java, JavaScript… Apply Now
0 notes
Text
Backend Engineer
Qualifications: Strong programming experience in at least one backend friendly language (Clojure, Golang, Python, Java, JavaScript… Apply Now
0 notes
Text
Choose the right programming language depends, among others, on the environment - do we expect changing requirements, is performance our top priority, or is it a high-stakes, high-risk environment?
Source: The talk How to transfer Clojure goodness to other languages by Elango Cheran and Timothy Pratley from Conj 2023
1 note
·
View note
Text
What is a Blockchain Engineer? Salary, Skills & Career

Blockchain technology is a quickly developing subject that changes significantly and rapidly impacts many industries. Due to a lack of experienced workers in various sectors, there is an increasing need for qualified blockchain engineers. In this post, we'll examine how to become a blockchain engineer, go into the duties and functions of the job, and tackle the critical topic of how much money blockchain engineers make a year. We will also discuss some of the best blockchain certifications and courses to improve your technical abilities and open doors to lucrative career prospects.
Knowing What a Blockchain Engineer Does
Blockchain engineers drive innovation in various industries by working with computer networks, data structures, and algorithms. Their main goal is to develop and deploy digital blockchains to provide businesses with cutting-edge solutions. The need for blockchain developers and engineers never goes down, even though terms like "blockchain developer," "blockchain engineer," "blockchain architect," and "blockchain expert" are frequently used interchangeably.
Examining the Duties in Detail
Depending on the organization, blockchain engineers' duties may differ. However, they usually include the following:
Data Discovery: Finding reliable data sources is an essential first step for blockchain projects.
Application Development: Using blockchain technology to create reliable applications that have the power to transform a range of sectors completely.
System Architecture: This section defines the architecture of blockchain systems using statistical data and a thorough comprehension of ideas like consensus and hash functions.
Backend development is creating blockchain systems' backend functionality to enable mobile applications.
Testing and troubleshooting: Finding and fixing mistakes in blockchain projects to guarantee smooth functioning.
Maintenance and modification is known as updating and refining apps' front-end and backend code to keep them functional and up-to-date.
Coding is creating and executing code that perfectly complies with the demands of any blockchain application.
Integration: Working together to smoothly integrate blockchain applications with data science, research, and production management teams.
Research: Conduct in-depth research on blockchain projects to keep abreast of recent developments.
Cybersecurity issues must be recognized and addressed to preserve the integrity and security of blockchain networks.
Crucial Competencies for Blockchain Professionals
Technical Proficiency:
Blockchain Architecture: A thorough comprehension of hash functions and consensus mechanisms in blockchain architecture.
Programming Languages: Knowledge of essential programming languages, including Python, Clojure, and JavaScript, is necessary for blockchain development.
Data structures: a thorough understanding of the Patricia and Merkle Tree data structures frequently employed in blockchain technology.
Cryptography: Within blockchain networks, data encryption, and security are guaranteed by cryptography expertise.
Blockchain Platforms: Knowledge of public, permissioned, private, permissionless, and federated blockchain platforms.
Ecosystems: familiarity with various blockchain ecosystems, such as Hyperledger, Ethereum, Corda, and Quorum.
Development Tools: To speed up solution production, become proficient with blockchain development tools like MetaMask, Remix, and Truffle.
Soft Skills:
Communication: Excellent written and verbal communication skills are necessary to cooperate and communicate project needs effectively.
Teamwork: Reaching project objectives requires the ability to collaborate with a varied range of team members.
Critical Thinking: Developing successful plans and resolving challenging issues requires applying strategic and critical thinking abilities.
Creativity: The ability to solve problems creatively is essential for examining many approaches and choosing the best one.
Adaptability: Adopting new tactics and technology requires a flexible mentality in the always-changing world of blockchain.
The Wealthy Route to Becoming a Blockchain Engineer
There is a constant need for blockchain engineers and developers, which bodes well for future employment opportunities. Although the two jobs are similar, blockchain engineers create the underlying infrastructure, while blockchain developers usually concentrate on project execution.
Entry-level blockchain developers in India can expect to make between ₹3 and 4 lakhs per year, while seasoned workers can expect to make between ₹15 and 20 lakhs. This field pays typically between ₹6 and 8 lakhs per year on average.
The Importance of Certification for Blockchain Engineers
The necessity of blockchain engineer certification is becoming increasingly apparent as blockchain engineering gains traction in various industries. A blockchain engineer certification is essential to becoming an expert in the field; it's more than just a formal title. Well-designed blockchain courses give people the information and abilities to succeed in blockchain development.
By enrolling in a blockchain course, aspiring blockchain engineers can become proficient in data structures, cryptography, and programming languages. They also learn how to navigate various blockchain systems, such as federated, private, permissionless, public, and permission. In addition, these courses facilitate the development of creative solutions by providing practical experience with blockchain development tools like MetaMask, Remix, and Truffle. A blockchain engineer certification offers access to extensive knowledge and abilities, enabling people to succeed in blockchain engineering rather than merely verifying proficiency.
Those who set out to learn blockchain technology through credible certification programs position themselves at the forefront of this industry revolution as blockchain technology continues to upend established paradigms. With the skills and information necessary to spur innovation and influence the direction of the digital world, they are prepared and eager to start a fulfilling career as blockchain engineers.
In summary, blockchain engineers are innovators transforming sectors with their knowledge and are crucial in advancing the digital revolution. The future looks promising for blockchain technologists as the need for safe, decentralized solutions grows. Aspiring blockchain engineers can succeed in this industry by acquiring a combination of necessary soft skills and technical expertise, guaranteeing them a lucrative and fulfilling career in the blockchain industry.
Blockchain Council is a reputable platform that offers a variety of Blockchain certifications for individuals wishing to get started in the area or advance their understanding of blockchain technology. The Blockchain Council, comprised of enthusiasts and subject matter experts, is committed to furthering blockchain research and development, investigating diverse applications and products, and encouraging information sharing for a better society.
Blockchain technology is not just a fad but a quickly developing field with enormous potential for the future. It may be used as a distributed ledger, software, financial network, etc. Businesses are moving toward this game-changing technology, and Blockchain Council offers helpful tools to keep people ahead of this fascinating sector.
0 notes
Text
Clojure からポリモーフィズムを眺めてみる その4
インスペクタの例を実行してみた。 『Programming Clojure』の2版と3版では、「collection-tag」の実装が変わっていた。ここには3版と同じ、新しいやつを掲載した。 この節(8.5 「いつマルチメソッドを使うべきか」)の要点はこんな感じか。 ・おおむね class でディスパッチしてる ・け���ど、class 以外の「型っぽいもの」でもディスパッチできるのよ(Java より柔軟) ・既存の、ある型システムの上に、木構造で表す「型っぽいもの」システムを載っけられる ・その木構造の「型っぽいもの」システムを利用するのに、既存のオブジェクトコードに手を加える必要はない ・再利用しやすい //================= user=> (require '[clojure.inspector :refer [inspect inspect-tree collection-tag]]) nil user=> (source collection-tag) (defn collection-tag [x] (cond (map-entry? x) :entry (instance? java.util.Map x) :seqable (instance? java.util.Set x) :seqable (sequential? x) :seq (instance? clojure.lang.Seqable x) :seqable :else :atom)) nil //=================
user=> (def clj {:clojure {:creator "Rich" :runs-on-jvm true} :cljs {:creator "Rich" :runs-on-jvm false}}) #_=> #'user/clj user=> (inspect-tree clj) object[javax.swing.JFrame 0x646c1eba "javax.swing.JFrame[frame1,0,25,400x600,invalid,layout=java.awt.BorderLayout,title=Clojure Inspector,resizable,normal,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,28,400x572,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]"]
//================= ;; 葉か? user=> (source clojure.inspector/is-leaf) (defmulti is-leaf collection-tag) nil ;; 子供のノードを��得する user=> (source clojure.inspector/get-child) (defmulti get-child (fn [parent index] (collection-tag parent))) ;; 子供のノードの数を取得する user=> (source clojure.inspector/get-child-count) (defmulti get-child-count collection-tag) nil //================= ;; 葉か? user=> (clojure.inspector/is-leaf clj) false ;; 子供のノードの数を取得する user=> (clojure.inspector/get-child-count clj) 2 ;; 子供のノードを取得する user=> (clojure.inspector/get-child clj 0) [:clojure {:creator "Rich", :runs-on-jvm true}] user=> (clojure.inspector/get-child clj 1) [:cljs {:creator "Rich", :runs-on-jvm false}] user=> (clojure.inspector/get-child clj 2) Execution error (IndexOutOfBoundsException) at clojure.inspector/fn (inspector.clj:52). null
0 notes
Text
Top 20 Programming Languages You Should Learn in 2024
Imagine yourself commanding machines with words, creating very complex systems that can come to life through your spoken word and develop complete digital worlds. No, we are not talking about science fiction but programming in our daily lives.
Programming languages are just like the normal languages we use to communicate with computers; they enable us to instruct this sophisticated machinery on what it should do and how it should do that.
However, for novices, this programming world looks terrifying, full of enigmatic icons and strange expressions. Do not despair! Your map awaits you so that you can know and select even equipment for your own superpowers of software development. So, let’s get ready for this thrilling ride together!
What is a programming language?
Programming languages may seem intricate, but essentially they are just tools we employ in speaking to computers. We speak English to give commands to our fellow human beings, likewise, a programming language is used to pass instruction codes to a computer. In each language, there are its own rules as well as symbols, just like my language grammar works.

Think of it like writing recipes. With instructions and ingredients (data), you create delicious dishes (programs). Programming languages follow similar principles, using instructions and data to create digital applications, websites, and more.
Here’s a breakdown:
Human languages: we use English, Spanish, etc. to tell others what we want.
Programming languages: we use Python, Java, etc. to tell computers what we want them to do.
Programming languages can be:
Structured: they have rules and syntax to ensure clarity and avoid confusion.
Precise: each instruction needs to be exact, as computers understand things literally.
Versatile: different languages have different strengths, making them suitable for different tasks.
Translatable: while computers have their own language, programming languages act as translators, converting our instructions into something the computer can understand.
In short, programming languages are communication tools that bridge the gap between our ideas and the digital world. They open doors to exciting possibilities, allowing us to bring our creations to life!
Major types of programming languages
The world of programming languages is vast and diverse, each with its own strengths and quirks. Let’s explore some major types to give you a better understanding:
Procedural
Imagine a recipe with clear steps. Procedural languages, like C, Pascal, and FORTRAN, follow a similar approach. They break down tasks into a sequence of instructions, one after the other, like a chef following a recipe.
Example: In C, you might write code to calculate the area of a circle: float radius = 5.0; float area = 3.14159 * radius * radius; printf(“The area of the circle is: %.2f\n”, area);
Functional
Think of building blocks snapping together. Functional languages, like Haskell, Clojure, and Lisp, focus on independent functions (like blocks) that solve smaller problems. These functions can be combined to create larger programs, similar to building a complex structure with individual pieces.
Example: In Haskell, you could define a function to calculate the factorial of a number and use it later in your program: factorial n = if n == 0 then 1 else n * factorial (n-1)
Object-oriented
Imagine objects with their own properties and abilities. Object-oriented languages, like Java, Python, C++, and Ruby, model real-world objects. You create “objects” with data (properties) and functions (abilities) that interact with each other, making code more organized and reusable.
Example: In Python, you could create a “Car” object with attributes like color and speed, and methods like accelerate and brake.
Scripting
Think of quick notes or shortcuts. Scripting languages, like Python, Perl, and Bash, are often used for automating tasks or small programs. They are generally easier to learn and use than other languages, making them good for beginners or quick fixes.
Example: In Python, you could write a script to automate downloading files from the internet.
Logic
Imagine solving a puzzle with clues. Logic languages, like Prolog, use logical rules and relationships to solve problems. They are often used in artificial intelligence and expert systems, where reasoning and deduction are important.
Example: In Prolog, you could write code to determine if a given word is a palindrome (reads the same backward and forward).
Imperative
Imagine directly controlling a machine. Imperative languages, like C and C++, give programmers precise control over how the computer executes instructions. They are often used for system programming and tasks requiring fine-grained control.
Example: In C, you could directly manipulate memory addresses and perform low-level operations on the computer hardware.
Top programming languages in 2024
Programming is a constantly evolving niche, with new technologies and trends shaping the landscape. So, what languages are at the forefront in 2024? To answer that, let’s take a pulse of the industry.
Current trends
Data science & AI: the ever-growing demand for data analysis and artificial intelligence fuels the popularity of languages like Python, R, and Scala.
Cloud computing: as businesses migrate to the cloud, languages like Go and JavaScript (Node.js) are in high demand for scalable and efficient cloud applications.
Mobile development: the ubiquitous presence of smartphones keeps languages like Kotlin (Android) and Swift (iOS) relevant for building engaging mobile apps.
Security: with rising cyber threats, secure coding practices and languages like Rust are gaining traction.
Now, let’s dive into some of the most sought-after languages in 2024, keeping these trends and demands in mind.

Machine code languages on colorful elements – Programming concept
C and C++
C and C++ are powerful, low-level programming languages known for their speed and efficiency. C is often used for system programming, while C++ adds object-oriented features. Both languages are widely used in operating systems, game development, and embedded systems.
C#
Developed by Microsoft, C# is a versatile language used for building a variety of applications, including desktop, web, and mobile apps. It combines the power of C++ with the simplicity of Java, making it popular among developers.
CSS
CSS (Cascading Style Sheets) is a language used to style web pages written in HTML. It allows developers to control the layout, fonts, colors, and other visual aspects of a website, enhancing the user experience.
Go
Go, also known as Golang, is a statically typed, compiled language developed by Google. It emphasizes simplicity, efficiency, and concurrency, making it ideal for building scalable web services and distributed systems.
HTML
HTML (Hypertext Markup Language) is the standard language for creating web pages and web applications. It defines the structure and content of a webpage, including text, images, and links.
Java
Java is a high-level, object-oriented programming language known for its portability and versatility. It is used for building a wide range of applications, from enterprise software to mobile apps and games.
Javascript
Javascript is a dynamic, interpreted language primarily used for client-side web development. It enables interactive web pages by adding behavior and interactivity to HTML and CSS.
Kotlin
Kotlin is a modern, statically typed language developed by JetBrains and officially supported for Android app development by Google. It offers concise syntax, null safety, and interoperability with Java, making it a popular choice for Android developers.
Matlab
Matlab is a high-level programming language and interactive environment designed for numerical computation, data analysis, and visualization. It is widely used in engineering, science, and mathematics.
NoSQL
NoSQL is not a specific programming language but rather a category of databases that do not use the traditional relational database model. NoSQL databases offer flexible schema design and are designed to handle large volumes of unstructured data.
Perl
Perl is a versatile, interpreted language known for its powerful text-processing capabilities. It is commonly used for system administration, web development, and network programming.
PHP
PHP is a server-side scripting language used for web development and building dynamic web pages. It is widely used in conjunction with HTML to create interactive websites and web applications.
Python
Python is a high-level, interpreted language known for its simplicity and readability. It is used for a wide range of applications, including web development, data analysis, artificial intelligence, and scientific computing.
R
R is a programming language and environment specifically designed for statistical computing and graphics. It is widely used in data analysis, statistical modeling, and visualization.
Ruby
Ruby is a dynamic, object-oriented language known for its simplicity and productivity. It is often used for web development, particularly with the Ruby on Rails framework, which emphasizes convention over configuration.
Rust
Rust is a systems programming language developed by Mozilla known for its focus on safety, performance, and concurrency. It is designed to prevent common programming errors such as null pointer dereferencing and memory leaks.
Scala
Scala is a statically typed language that combines object-oriented and functional programming paradigms. It runs on the Java Virtual Machine (JVM) and is used for building scalable, high-performance applications.
SQL
SQL (Structured Query Language) is a domain-specific language used for managing and manipulating relational databases. It is used to query, insert, update, and delete data from databases.
Swift
Swift is a powerful, open-source programming language developed by Apple for building iOS, macOS, watchOS, and tvOS applications. It offers modern syntax, safety features, and performance optimizations.
TypeScript
TypeScript is a superset of Javascript that adds static typing and other features to the language. It is designed to improve the development experience and scalability of large Javascript projects.
Conclusion
Remember, the programming world is a vast and exciting landscape. While this guide has highlighted some popular languages, the perfect one awaits you based on your unique interests and goals.
Interesting headings:
Affiliate marketing case studies
Bonuses
Reviews
0 notes