#ios programming language
Explore tagged Tumblr posts
Text
5 Best Programming Languages to Develop High-End iOS Apps
Apple has become a trillion-dollar company nowadays. The main reason is more than 1 billion iPhone users and 2 billion apps. This huge number of followers and apps indicates the huge potential for developers on the iOS platform. The developer uses the best programming language to develop high-end iOS apps. Read our blog today if you are finding the best programming language for your upcoming iOS app.

#ios app development#ios app development company#ios app development company in London#ios programming language#ios apps
0 notes
Text
Days 63-72 it's been a lot!
The last few days I made a small adventure game in C++, did my C++ midterm, and wrestled with my C# homework program (Cengage is awful). The homework program used GitHub code spaces and mine is severely glitched and I can't turn in my code :/ so there's that. Just waiting on Cengage to fix it. Anyways I started on my C# final project called "Cat Nap Sleep Journal" it's an app that helps those with sleep disorders track their health for doctors to view. It's dedicated to my husband who has narcolepsy.
The next few days I'll be working on adding the pages for the buttons to go to, and adding the statistics which will be a beast I won't lie lol.
#self improvement#cosmickittytalk#csharp programming#csharp is superior#csharp#cs major#c++ language#c++ programming#college homework#college life#making an app#maui app#.net developers#.net framework#.net development#.net maui#.net#xamarin#andriod#ios#ios development#coding for a year#coding exercises#coding challenge#coding#girls who code#learning to code#codeblr#code#college project
2 notes
·
View notes
Text
Web Development Course in Gwalior is Your Gateway to a Successful Career
Cupule Trainings, as a best IT training institute in Gwalior, offers job consultancy service, certification and training in Angular Js, Android, Java, PHP, HTML5 Bootstrap, digital marketing, SEO, Social media marekting, Wordpress, Shopify, HTML CSS, CSS3, IOS, Web design and development, programming languages, database management system and all other certification courses from highly experienced industry experts.
#Cupule Trainings#as a best IT training institute in Gwalior#offers job consultancy service#certification and training in Angular Js#Android#Java#PHP#HTML5 Bootstrap#digital marketing#SEO#Social media marekting#Wordpress#Shopify#HTML CSS#CSS3#IOS#Web design and development#programming languages#database management system and all other certification courses from highly experienced industry experts.
0 notes
Text

Top Programming Languages for 2024: What Developers Should Know
Programming is changing due to the unparalleled speed at which technology is evolving. Developers can remain ahead of the curve by becoming experts in the languages that will influence the future. Choosing suitable languages to focus on is essential for your project’s success and career path, regardless of your experience level. This article will discuss the top programming languages for 2024: What Developers Should Know, along with their applications, significance, and potential to spur innovation in various fields.
Python will still be the most widely used and versatile programming language in 2024. Because of its readability and simplicity, Python is extensively used in web development, data science, artificial intelligence (AI), machine learning (ML), automation, and other fields. Although it provides extensive features for seasoned coders, it’s frequently the first language suggested to novice developers.
1. Python: The Flexible Superpower
Python, one of the most widely used programming languages, is still favoured in 2024 because of its ease of use, readability, and extensive library. First created in the late 1980s, Python is still popular today because of its adaptability and learning simplicity, making it an excellent option for both novice and seasoned developers.
Why Python Is So Popular Among Developers
Python is frequently used for:
Data Science: Thanks to modules like Pandas, NumPy, and Matplotlib, Python is the preferred language for data analysis and visualisation.
Machine Learning: Thanks to frameworks like TensorFlow and PyTorch, Python is now the preferred language for creating artificial intelligence and machine learning applications.
Web Development: Python simplifies web programming and encourages quick experimentation using frameworks like Django and Flask.
In 2024, Python will remain the industry leader in domains such as automation, data science, and artificial intelligence (AI) because of its versatility and extensive community that continuously supports its development. Its cross-platform compatibility and ease of learning further cement its standing as the best language for software engineering. CodeRower utilizes Python for various projects, ensuring that applications are scalable, efficient, and maintainable.
Career Prospects with Python:
Due to Python’s broad range of applications, developers with this language can find opportunities in various industries, including technology, healthcare, finance, and academia. Because of the high demand for Python developers’ skills, developers in this field can also expect to earn competitive salaries.
2. JavaScript: The Web’s Language
JavaScript is now much more than just a language for basic online interactions. As a top programming language, it is essential to constructing contemporary websites and applications.
The Need for JavaScript
Web apps and interactive webpages run on JavaScript. JavaScript is still essential in 2024 due of:
Full-Stack Development: Node.js is a full-stack solution since JavaScript enables client-side and server-side development.
Frontend Frameworks: JavaScript is essential for front-end developers because it is used to develop popular libraries and frameworks like Angular, Vue, and React.
Cross-Platform Mobile Development: Developers using tools like React Native may develop mobile applications with JavaScript, eliminating the need to learn several languages for different platforms.
The Function of JavaScript in New Technologies
JavaScript is still the best option for creating single-page applications (SPAs), progressive web apps (PWAs), and other contemporary online solutions. Its ecosystem continually evolves, providing developers with an increasing range of tools, libraries, and frameworks. Furthermore, cloud computing solutions and Internet of Things (IoT) application development heavily rely on JavaScript. CodeRower’s expertise in JavaScript development allows us to create dynamic and responsive applications tailored to client needs.
The Career Landscape for JavaScript Developers
Developers skilled in JavaScript are in high demand, particularly those proficient in popular frameworks like React and Angular. With the rise of full-stack development, learning JavaScript provides an opportunity to work on both frontend and backend systems, making developers more versatile and employable in 2024.
3. Go (Golang): The Scalability Language
Since its introduction by Google, Go (also known as Golang) has gained considerable notoriety because of its effectiveness, speed, and capacity to handle several jobs simultaneously. In 2024, Go emerged as a leading programming language for programmers who want to create scalable and performance-driven apps.
Essential Features of Go
Go is made to tackle the difficulties encountered in the design of large-scale systems. Among its notable characteristics are:
Concurrency: Go is perfect for high-performance applications that manage several activities simultaneously because of its built-in support for concurrency.
Simplicity and Speed: Go blends the speed of compiled languages with the simplicity of the use of scripting languages.
Cloud-Native Development: Go is becoming a popular language for developing distributed systems as cloud computing expands.
Go for DevOps and Cloud Computing.
By 2024, Go will be a crucial language for cloud infrastructure, powering massively distributed systems utilised by Google, Dropbox, and Uber. Because of its memory economy and speed, Go is an excellent option for developing lightweight cloud apps. CodeRower embraces Go in our cloud-native solutions, ensuring efficient and scalable software architectures.
The Market Demand for Go Developers
Go developers are in great demand as more businesses concentrate on cloud-native development, particularly in the DevOps and cloud engineering domains. Gaining expertise in Go can offer you a competitive advantage when creating microservices and distributed systems designs.
4. Rust: The Quick and Safe Substitute
Rust is swiftly rising to the top as a language of choice for developers seeking to prioritise performance and safety. Well-known for its memory safety features, Rust has become a popular language for creating dependable and effective software systems.
Rust’s Attractive Features in 2024
Rust provides:
Memory Safety: Rust is safer for systems development because it guards against typical programming problems like null pointer dereferencing and buffer overflows.
Performance: Rust is a systems-level language that provides excellent performance and safer memory management, much like C++.
Concurrency: Because of Rust’s memory architecture, programmers may safely create concurrent programs, which is crucial in today’s multi-threaded, multi-core settings.
Rust in Systems Programming and WebAssembly
Rust is causing a stir in WebAssembly by empowering programmers to create browser-based, high-performance apps. Furthermore, Rust is increasingly utilised in systems programming and development, where performance and safety are essential. Its application in developing embedded devices, blockchain solutions, and operating systems will only increase by 2024. CodeRower is exploring Rust for systems programming and IoT applications, positioning ourselves at the forefront of this emerging technology.
Prospects for Rust Developer Careers
Although Rust is still in its infancy, industries like blockchain, IoT, and systems programming are seeing a rise in the need for Rust engineers. Rust developers should anticipate affluent prospects in industries that demand safe and high-performance software.
5. Kotlin: The Preferred Tool for Android Developers
Kotlin has become a leading programming language for Android development quite rapidly. The JetBrains-developed Kotlin language provides a contemporary, expressive syntax that enables programmers to produce more manageable, concise code.
Kotlin’s Principal Benefits
Android Development: Kotlin is the recommended language for creating Android applications, displacing Java in many projects. Google officially supports it.
Java Interoperability: Kotlin may be used with existing Java codebases since it is entirely compatible with Java.
Cross-Platform Development: Using Kotlin Multiplatform, developers may exchange business logic between iOS, Android, and the web.
Kotlin for 2024 and Later
Even if Kotlin is still the industry standard for Android development, its adaptability is gaining traction in other domains, such as server-side development and cross-platform mobile applications. The simplicity and potency of Kotlin’s features have led to its rising adoption for projects outside the Android environment. CodeRower leverages Kotlin to create robust mobile solutions that meet client expectations.
Potential Career Paths for Kotlin Developers
As long as Android applications are needed, Kotlin-verse developers will have no trouble finding work in 2024. Furthermore, Kotlin Multiplatform is expanding into new domains. Therefore, professionals interested in mobile development and other fields should study this language.
6. TypeScript: Type-Safe JavaScript
TypeScript, a superset of JavaScript that facilitates error detection during development, adds static typing to JavaScript. Even in 2024, developers creating complex online apps still highly value TypeScript.
The Advantages of TypeScript
Static Typing: By adding types to JavaScript, TypeScript lowers runtime errors and enhances code quality.
Improved Tooling: TypeScript offers a better programming experience with features like autocompletion and refactoring.
Expanding Ecosystem: TypeScript is a vital tool for front-end developers since several well-known JavaScript frameworks, including React, Angular, and Vue support it.
The Use of TypeScript in Extensive Applications
As web apps become more sophisticated, large codebases are increasingly being managed using TypeScript. Because of its type safety and excellent tooling, it is perfect for enterprise-level applications where stability and maintainability are crucial. CodeRower implements TypeScript in projects to ensure maintainable and scalable codebases.
Opportunities for Careers with TypeScript
TypeScript developers are in great demand, especially in the web development industry. Large-scale web application development companies favour TypeScript because of its bug-reduction and development efficiency-boosting capabilities.
7. Swift: The Developing Future for iOS
Swift is the preferred language for developing iOS and macOS applications, having been introduced by Apple. Swift is still a top option for mobile developers working in the Apple ecosystem in 2024.
The Significance of Swift
Performance: Swift is built to be quick, and it beats Objective-C on several benchmarks.
Safety: Swift lessens the possibility of crashes and problems in applications with features like optional types and error handling.
Simple to Learn: Swift is simpler for novices to learn because of its clear and short syntax.
Swift Outside of iOS
Swift is increasingly popular in server-side and cross-platform programming despite being mostly used for iOS development. Thanks to frameworks like SwiftUI, building user interfaces has never been simpler, making Swift a language that developers should consider learning by 2024. CodeRower is exploring Swift for various applications, enhancing our capabilities in the Apple ecosystem.
Prospects for Swift Developer Careers
Swift developers will be in demand as long as the iOS market expands. In 2024, Swift will give developers a variety of opportunities to work on server-side programming or mobile apps.
Conclusion
The world of programming is more dynamic than ever in 2024. Developers must stay up to speed on the newest programming languages to be productive and competitive. At the vanguard of this progress are languages like Python, JavaScript, Go, Rust, Kotlin, TypeScript, and Swift, which answer various software development requirements.
These programming languages offer distinct capabilities designed to address specific development issues. Learning the appropriate languages will help you prosper in the rapidly evolving field of software development, regardless of your interests in web development, mobile apps, systems programming, or cloud computing. The software development industry offers many new options.
At CodeRower, we prioritize mastering these languages to deliver exceptional solutions to our clients. By staying ahead of the curve and mastering these top programming languages for 2024, developers may guarantee that they continue to be valued assets in their respective fields, equipped to confidently handle the challenges of modern software engineering.
#programming#programming languages#coding#software development#app development#web app development#android app development#web development#custom app development#ios app development#game development#custom software development#blockchain development#software#developer#software engineering#technology#python#javascript#golang#typescript
0 notes
Text
A Comprehensive Guide: What is Mobile App Development?
Explore the world of mobile app development with this comprehensive guide. Learn about key platforms, the development process, essential tools, and future trends shaping the industry.
#mobile app development#iOS development#Android development#app design#programming languages#development frameworks#AI in mobile apps#IoT applications#AR and VR#5G technology
0 notes
Text

Which is the Best Programming Language for Creating Android Apps?
Discover the ideal programming language for crafting Android apps. Uncover the top choice for your mobile development needs.
#Android Apps#Best Programming Language#best android application development services#Android Studio 3.0#C#developers#native iOS#Android mobile apps
0 notes
Text
Top Programming Languages for iOS Development Swift, Objective-C, C#, Java, and JavaScript, and we can help you create the perfect app for your needs. Contact us today to learn more. Auspicious Soft is an iOS development company that uses the latest programming languages and technologies to create high-quality apps for the Apple App Store.
#programming languages#ios development#app developmnet company#ios app development company#app development company
0 notes
Text
One more happy child today (3
Сегодня стало на одного счастливого ребёнка больше (3
I thought: "If they're speaking different languages, why should the player have to see text dialogue between them? Let them talk in symbols!".
Я подумала: "Раз они разговаривают на разных языках, то почему игрок должен видеть текстовый диалог между ними? Пусть они говорят символами!".
So I wrote to grok an algorithm for implementing this idea, and he wrote to me how to implement it in code. Since I'm not going to put this alpha/demo (what's the right name?) game out to the public, I'm learning how to program using AI chat. For example, I learnt today that there are signals! It will be convenient and flexible to use them to realise such tasks as shown in the video.
Так что я написала grok алгоритм реализации этой идеи, а он мне написал как реализовать это в коде. Так как я не собираюсь выкладывать эту альфа/демка (как правильнее назвать?) игру в общий доступ, то я учусь программировать, используя ИИ чат. Например, я сегодня узнала что есть сигналы! Будет удобно и гибко их использовать для реализации таких заданий, как показано на видео.
Oh, right, tilemap and parallax take from itch io.
О, точно, тайлмапы и параллакс взять из itch io.
#apocalyptic ponyo#swerve#blurr#game#creating game#русский тамблер#This is my post so I can write it in two languages#Это мой пост так что я могу написать его на двух языках#transformers
718 notes
·
View notes
Text

Rebuilt one of my older projects as a modern iOS project! This is the Morpheme Dictionary! It’s an etymological project for folks who like linguistics and words. Morphemes are the smallest divisible unit of meaning in a word. For example “dictionary” -> ‘dic’ + ‘tion’ + ‘ary’. Did you know that “disaster” (‘dis’ + ‘aster’) literally glosses to “bad star”?
I like learning what all the word bit means and how our words are constructed so I started compiling a database of them years ago. I’ve been wanting to get back into programming so I figured this would be a good re-introduction project.
Also if folks end up enjoying and getting a lot out of it, feel free to shoot me a tip! (Esp since that Apple dev license is costly to renew! @_@)
Eventually I’d like to release Android and Windows Desktop versions of the app once I’m more comfortable programming again and can learn those platforms so everyone can join in on the language fun!



114 notes
·
View notes
Note
Hey io!! I am a very curious person so please tell me if this is too personal, but how have you adjusted to studying abroad? I know you said are studying in kazakhstan and you said you were originally not from there so I am just wondering, has it been hard adjusting to the new culture and living style? Are there definitive pros and cons that you experience? Sorry for nagging haha but I was curious becuase I am planning to study abroad as well, and I want to know if it is as tough as people says it is. Thank you so much and I wish you a great rest of your day :D
i wish i could accurately convey just how hard it is to ask me a question that's too personal- i'd happily send my medical forms and W-2 to anyone who asked, hehe. so don't fret! i've done four study abroad programs, two for three months each, one for half a year, and now (for my fourth) i'm coming up on a year that i've lived in kazakhstan!
if there are hard elements i definitely don't think they should discourage anyone from taking any opportunity they have to live abroad. i love traveling but the experience of settling into daily life and establishing a routine in a new place is so much more meaningful and memorable than what you get from drifting through cities, imo. there are a lot of things you only start to notice on the three hundredth morning walk.
the hardest part for me has always been the language barrier- my russian is enough to get by with, but i don't feel able to truly express myself, and worse as soon as people hear my accent they make assumptions about my level of comprehension and, rudely speaking, treat me like a kid. and it gets very tiring only being taken by people as a loud adult baby. for a few months it's fine, but for a year...
of course i have no idea what country you're from but if you're from the US i would say to take any opportunity you can now because essentially all of the funding opportunities i relied on to study abroad don't exist anymore
27 notes
·
View notes
Note
my theories for what Io stand for, if not input/output like i had assumed as well (im functioning on the assumption that it is still STEM related, specifically computer-code or math)
It could stand for "infinitely often", a mathematics term sometimes written "i.o."; meaning it is a type of set-theoretic limit
There is a programming language that is a a pure object-oriented type of programming language, called "Io"
To obscure computer code, there's a cryptographic tool called "indistinguishability obfuscation" that can be avbreviated as "i.o."
are any of those accurate??
you're on the right track but it's way simpler than that :)
24 notes
·
View notes
Text
Open Source Note Taking
I know all of you have followed me for the horny posts about sexual violence but I have decided to post some recommendations for open source tools each Friday to promote my other insidious agenda of increased privacy, security, and independence from for-profit companies.
A lot of you here probably like to journal and take notes so I decided to start with some dedicated note taking apps. Of course you can also take notes in LibreOffice and Cryptpad, but those are more general office solutions similar to Microsoft Office or Google Docs.
Freeplane
For most of my my personal note-taking right now I like to use Freeplane. It's free and open source (hence the name), runs on pretty much every desktop, and provides a solid note taking environment. Notes are represented as graphs (typically trees) which can contain cells which have arbitrary data. These cells can be manipulated with a built-in scripting language which allows you to use it like a spreadsheet in addition to using to store notes. Nodes can be folded as well, and you can make decision trees, flowcharts, etc. very easily.
The interface may look somewhat intimidating since it's not just a regular note taking app, and many users take a mind-mapping approach, but you can just imagine it as a nested tree with the nodes closer to the root being broader concepts than the leaves.
Joplin
Joplin is a markdown based tool for note taking, though it provides a WYSIWYG style editor, intra-notebook links, the ability to store templates, to-do lists, and a few more advanced features. It has an android and iOS app as well. If you want to sync your notes between devices you can self-host a server, use some sort of file sharing tool (like KDE Connect), or pay for their service.
I no longer use it (having since moved to Freeplane, KDE PIM, and SQL), but it's a good program and it might be good for your problems since everyone has different needs.
KDE PIM (KOrganiser or Merkuro)
If you use KDE already, KDE has a PIM suite which allows you to create tasks, events, and schedule things. You can use these to take journal entries which can show up in any calendar you share CalDAV info with (which means that you can link most calendar services to it). It can also be used to share when you are free if you like to schedule meetings. I personally use it for my own daily journaling and task management.
Just Plain Markdown
You can also store things in just plain old markdown files (org mode in emacs or just regular .md
files). Many people swear by this and there are some compelling benefits (near universal compatibility with any text editor as well as a very simple interface for extending it). For this you don't really need any specialized tools, just a text editor of your choosing, ideally with some highlighting for markdown. Nearly every text editor has it, so there's not much to say there.
SQL Databases
This is a niche solution, but I am going to mention it anyways since it took me years to actually try it out despite knowing SQL since no one else mentioned it. If you know SQL just using straight up SQL with a SQL database management tool is actually really good. I have done it (and do it) since for some tasks like storing recipes the added structure is actually quite useful. (and you can do complex queries on the data as well) Essentially you just break your notes into different types (possibly even thinking about how to normalize your knowledge representation, though there's a lot of bikeshedding that way) and then turn those types into tables.
Postgresql is my preferred option simply because I use it at work (and let's face it, if you use SQL you probably do to). However, if you aren't already experienced with SQL it isn't something I would recommend. Though I would recommend learning SQL to everyone, since databases have a similar set of capabilities as spreadsheets but are even more powerful and useful.
12 notes
·
View notes
Text
How to Build Software Projects for Beginners
Building software projects is one of the best ways to learn programming and gain practical experience. Whether you want to enhance your resume or simply enjoy coding, starting your own project can be incredibly rewarding. Here’s a step-by-step guide to help you get started.
1. Choose Your Project Idea
Select a project that interests you and is appropriate for your skill level. Here are some ideas:
To-do list application
Personal blog or portfolio website
Weather app using a public API
Simple game (like Tic-Tac-Toe)
2. Define the Scope
Outline what features you want in your project. Start small and focus on the minimum viable product (MVP) — the simplest version of your idea that is still functional. You can always add more features later!
3. Choose the Right Tools and Technologies
Based on your project, choose the appropriate programming languages, frameworks, and tools:
Web Development: HTML, CSS, JavaScript, React, or Django
Mobile Development: Flutter, React Native, or native languages (Java/Kotlin for Android, Swift for iOS)
Game Development: Unity (C#), Godot (GDScript), or Pygame (Python)
4. Set Up Your Development Environment
Install the necessary software and tools:
Code editor (e.g., Visual Studio Code, Atom, or Sublime Text)
Version control (e.g., Git and GitHub for collaboration and backup)
Frameworks and libraries (install via package managers like npm, pip, or gems)
5. Break Down the Project into Tasks
Divide your project into smaller, manageable tasks. Create a to-do list or use project management tools like Trello or Asana to keep track of your progress.
6. Start Coding!
Begin with the core functionality of your project. Don’t worry about perfection at this stage. Focus on getting your code to work, and remember to:
Write clean, readable code
Test your code frequently
Commit your changes regularly using Git
7. Test and Debug
Once you have a working version, thoroughly test it. Look for bugs and fix any issues you encounter. Testing ensures your software functions correctly and provides a better user experience.
8. Seek Feedback
Share your project with friends, family, or online communities. Feedback can provide valuable insights and suggestions for improvement. Consider platforms like GitHub to showcase your work and get input from other developers.
9. Iterate and Improve
Based on feedback, make improvements and add new features. Software development is an iterative process, so don’t hesitate to refine your project continuously.
10. Document Your Work
Write documentation for your project. Include instructions on how to set it up, use it, and contribute. Good documentation helps others understand your project and can attract potential collaborators.
Conclusion
Building software projects is a fantastic way to learn and grow as a developer. Follow these steps, stay persistent, and enjoy the process. Remember, every project is a learning experience that will enhance your skills and confidence!
3 notes
·
View notes
Text
super cool in-progress programming language: DCS, a functional programming language with a totality checker but not dependent types (unlike the proof assistants that usually have totality checkers). the idea is to allow divergence via a Div effect monad (cf Haskell's IO) while having the bulk of the language guaranteed to terminate. one of the big selling points is that the totality checker works for divide-and-conquer strategies, which Coq etc generally don't.
it can do this because it's based on some very complex type-level machinery where recursive functions are actually (i hope i'm using these words correctly) Mendler-inductive functor algebras. totality checkers require that arguments to recursive calls be smaller than the original argument, but normally enforce that purely based on the syntax of constructors which means they can't go through the function calls required for divide and conquer splits. here, the idea is whenever there would be recursion, it instead uses an opaque type variable and an extra function parameter to enforce that the call can only be to something "recursable", and takes a fixed point so that it ends up back at the original recursive type. (i might try and write more about these if anyone is interested, or to figure out if i actually understand it or if i'm just nodding my head along.)
i don't know if it's possible to pour enough syntactic sugar onto that concept to make it actually usable as a language. but the examples of programs in the language are way more readable than the version displayed in the paper, so it honestly might be. the list file in the stdlib has both quicksort and mergesort, and if you look past the silly decision to use greek letters instead of keywords and the limited pattern-matching it doesn't look that far off a normal recursive function.
my biggest question, though, is how it's possible to take a fixed point of the algebra without risking nontermination. if your totality checker isn't total what's the point?!
40 notes
·
View notes
Text
Apple requiring a MacBook to code iOS programs is so fucked I hate capitalism
I just want a decent fidget app so much that i’m even considering to LEARN AN ENTIRE CODING LANGUAGE
6 notes
·
View notes
Text
So I made an app for PROTO. Written in Kotlin and runs on Android.
Next, I want to upgrade it with a controller mode. It should work so so I simply plug a wired xbox controller into my phone with a USB OTG adaptor… and bam, the phone does all the complex wireless communication and is a battery. Meaning that besides the controller, you only need the app and… any phone. Which anyone is rather likely to have Done.
Now THAT is convenient!
( Warning, the rest of the post turned into... a few rants. ) Why Android? Well I dislike Android less than IOS
So it is it better to be crawling in front of the alter of "We are making the apocalypse happen" Google than "5 Chinese child workers died while you read this" Apple?
Not much…
I really should which over to a better open source Linux distribution… But I do not have the willpower to research which one... So on Android I stay.
Kotlin is meant to be "Java, but better/more modern/More functional programming style" (Everyone realized a few years back that the 100% Object oriented programming paradigme is stupid as hell. And we already knew that about the functional programming paradigme. The best is a mix of everything, each used when it is the best option.) And for the most part, it succeeds. Java/Kotlin compiles its code down to "bytecode", which is essentially assembler but for the Java virtual machine. The virtual machine then runs the program. Like how javascript have the browser run it instead of compiling it to the specific machine your want it to run on… It makes them easy to port…
Except in the case of Kotlin on Android... there is not a snowflakes chance in hell that you can take your entire codebase and just run it on another linux distribution, Windows or IOS…
So... you do it for the performance right? The upside of compiling directly to the machine is that it does not waste power on middle management layers… This is why C and C++ are so fast!
Except… Android is… Clunky… It relies on design ideas that require EVERY SINGLE PROGRAM AND APP ON YOUR PHONE to behave nicely (Lots of "This system only works if every single app uses it sparingly and do not screw each-other over" paradigms .). And many distributions from Motorola like mine for example comes with software YOUR ARE NOT ALLOWED TO UNINSTALL... meaning that software on your phone is ALWAYS behaving badly. Because not a single person actually owns an Android phone. You own a brick of electronics that is worthless without its OS, and google does not sell that to you or even gift it to you. You are renting it for free, forever. Same with Motorola which added a few extra modifications onto Googles Android and then gave it to me.
That way, google does not have to give any rights to its costumers. So I cannot completely control what my phone does. Because it is not my phone. It is Googles phone.
That I am allowed to use. By the good graces of our corporate god emperors
"Moose stares blankly into space trying to stop being permanently angry at hoe everyone is choosing to run the world"
… Ok that turned dark… Anywho. TLDR There is a better option for 95% of apps (Which is "A GUI that interfaces with a database") "Just write a single HTML document with internal CSS and Javascript" Usually simpler, MUCH easier and smaller… And now your app works on any computer with a browser. Meaning all of them…
I made a GUI for my parents recently that works exactly like that. Soo this post:
It was frankly a mistake of me to learn Kotlin… Even more so since It is a… awful language… Clearly good ideas then ruined by marketing department people yelling "SUPPORT EVERYTHING! AND USE ALL THE BUZZWORD TECHNOLOGY! Like… If your language FORCES you to use exceptions for normal runtime behavior "Stares at CancellationException"... dear god that is horrible...
Made EVEN WORSE by being a really complicated way to re-invent the GOTO expression… You know... The thing every programmer is taught will eat your feet if you ever think about using it because it is SO dangerous, and SO bad form to use it? Yeah. It is that, hidden is a COMPLEATLY WRONG WAY to use exceptions…
goodie… I swear to Christ, every page or two of my Kotlin notes have me ranting how I learned how something works, and that it is terrible... Blaaa. But anyway now that I know it, I try to keep it fresh in my mind and use it from time to time. Might as well. It IS possible to run certain things more effective than a web page, and you can work much more directly with the file system. It is... hard-ish to get a webpage to "load" a file automatically... But believe me, it is good that this is the case.
Anywho. How does the app work and what is the next version going to do?
PROTO is meant to be a platform I test OTHER systems on, so he is optimized for simplicity. So how you control him is sending a HTTP 1.1 message of type Text/Plain… (This is a VERY fancy sounding way of saying "A string" in network speak). The string is 6 comma separated numbers. Linear movement XYZ and angular movement XYZ.
The app is simply 5 buttons that each sends a HTTP PUT request with fixed values. Specifically 0.5/-0.5 meter/second linear (Drive back or forward) 0.2/-0.2 radians/second angular (Turn right or turn left) Or all 0 for stop
(Yes, I just formatted normal text as code to make it more readable... I think I might be more infected by programming so much than I thought...)
Aaaaaanywho. That must be enough ranting. Time to make the app
31 notes
·
View notes