124 private links
Brian Kernighan
Princeton University
July 13, 2009
Choosing a programming language for a project is a compromise over what you what you need, what you have, what you know and what you like. This post is just my thought process when selecting the implementation language for packnback.
What we need
- High performance, we will hopefully be dealing with large volumes of data.
- High security, the whole purpose is to protect data from attackers.
- Stability, software needs to be usable well into the future.
- Simplicity, the less complicated something is, the less that can go wrong.
- Popularity, this is mainly to help with marketing, libraries and community support.
- High bus factor, will sudden unexpected events destroy the language prospects.
- Fun, something we enjoy using or evaluating.
Let me preface this with an apology: this is a technology love story, and as such, it’s long, rambling, sentimental and personal. Also befitting a love story, it has a When Harry Met Sally feel to it, in that its origins are inauspicious…
A developer's guide about how to share code between Android and iOS with Kotlin Multiplatform.
Jupyter notebooks as Markdown documents, Julia, Python or R scripts.
Toolkit for Text Generation and Beyond. Contribute to asyml/texar development by creating an account on GitHub.
These Python libraries make it easy to scratch that personal project itch.
At the North America edition of the 2018
Linux Security Summit (LSS NA), which was held in late August in Vancouver,
Canada, Kees Cook gave a presentation on some of the dangers that come with
programs written in C. In particular, of course, the Linux kernel is
mostly written in C, which means that the security of our systems rests on
a somewhat dangerous foundation. But there are things that can be done to
help firm things up by "Making C Less Dangerous" as the title
of his talk suggested.
This is not a new sorting algorithm, but an idea when we need to avoid swapping of large objects or need to access elements of a large array in both original and sorted orders.
A common sorting task is to sort elements of an array using a sorting algorithm like Quick Sort, Bubble Sort.. etc, but there may be times when we need to keep the actual array in tact and use a “tagged” array to store the correct positioning of the array when it is sorted. When we want to access elements in sorted way, we can use this “tagged” array.
The Nim programming language is a concise, fast programming language that compiles to C, C++ and JavaScript.
TIOBE checks more than 1030 million lines of software code for its customers world-wide, real-time, each day.
Provides a rank among the most widely user programming languages.
An anti-pattern is a common response to a recurring problem that is usually ineffective and risks being highly counterproductive.
The term was popularized three years later by the book AntiPatterns, which extended its use beyond the field of software design to refer informally to any commonly reinvented but bad solution to a problem. Examples include analysis paralysis, cargo cult programming, death march, groupthink and vendor lock-in.
Although Python is an easy to learn and powerful programming language as it is known in common parlance, there is nevertheless need of a good introduction and tutorial on the Python language.
Why yet another documentation and tutorial on Python? Aren't there enough websites with tutorials and books dealing with Python? Isn't there already everything said about this great programming language?
These were the questions which came to our mind, when we started this website in June 2010. Yes, there are lots of tutorials and introductions, but we wanted to present a different approach, with other - more interesting - examples, better explanatory diagrams and so on. We had a lot to build on, above all the longstanding experience of Bernd Klein as a computer scientist and Python lecturer. Actually, this online course is based on the material from the classroom training courses of Bodenseo and his book on Python.
A short course that will teach you how to write Python scripts that can take advantage of the processing power of multicore processors and large compute clusters. While this course is based on Python, the core ideas of functional programming and parallel functional programming are applicable to a wide range of languages.
Without question, Linux was created by brilliant programmers who employed good computer science knowledge.
Let the Linux programmers whose names you know share the books that got them started and the technology references they recommend for today's developers. How many of them have you read?
Language Overview:
- As fast to write and edit as it probably gets
- Intuitive and simple - easy to use for non-programmers too
- No indentation, all empty lines and whitespace optional
- No type syntax rules and restrictions on the language level
- Documents map to ubiquitous structural types in all programming languages
- Powerful advanced features - copy, merge, deep merge elements
Usecases:
- Authoring blogs, up to entire websites, from the macro to the micro level
- Generating documentation, invoices, CVs, reports, you name it
- Large scale textfile-based databases and archives
- Configuration files, from the simplest to the most complex