Google’s Carbon Copy: Is Google’s Carbon Programming language the Right Successor to C++?

Carbon Programming language

You can translate the content of this page by selecting a language in the select box.

Pass the 2023 AWS Cloud Practitioner CCP CLF-C01 Certification with flying colors Ace the 2023 AWS Solutions Architect Associate SAA-C03 Exam with Confidence Pass the 2023 AWS Certified Machine Learning Specialty MLS-C01 Exam with Flying Colors

Is Google’s Carbon Programming language the Right Successor to C++?

For years, C++ has been the go-to language for high-performance systems programming. But with the rise of multicore processors and GPUs, the need for a language that can take advantage of parallelism has never been greater. Enter Carbon, Google’s answer to the problem. But is it the right successor to C++?

Google has been in the news a lot lately for their new programming language, Carbon. It’s being billed as the successor to C++, but is it really? Let’s take a closer look.

Google's Carbon Copy: Is Google's Carbon Programming language the Right Successor to C++?
Google’s Carbon Copy: Is Google’s Carbon Programming language the Right Successor to C++?

On the surface, Carbon and C++ have a lot in common. They’re both statically typed, object-oriented languages with a focus on performance. They both have a learning curve, but once you know them, you can write code that is both readable and maintainable. However, there are some key differences that make Carbon a more attractive option for modern programmers.

For one, Carbon is garbage collected. This means that you don’t have to worry about manually managing memory, which can be a pain in C++. Carbon also has better support for concurrency than C++. With the rise of multicore processors, this is an important consideration. Finally, Carbon has a more modern standard library than C++. This includes features like string interpolation and pattern matching that make common tasks easier to accomplish.

According to Terry Lambert, Carbon Programming language is probably not the successor of C++. His reason are:

Single inheritance is a deal-breaker for me, even though the eC++ utilized by IOKit in macOS and iOS has the same restrictions.

Although it specifies stronger type enforcement, which would — in theory — also eliminate RTTI and the reflection, which eC++ has historically eliminated as well, it’s doing it via expression-defined typing, rather than explicitly eliminating it. I expect that it would also prevent use of dynamic_cast, although that’s not explicitly called out.

Let’s see if Linus approves of someone compiling the Linux kernel with Carbon, and then starting to add Carbon syntax code, into that port of Linux.”

On the surface, Carbon seems like a great choice to replace C++. It is designed to be more reliable and easier to use than C++. In addition, it is faster and can be used for a variety of applications. However, there are some drawbacks to using Carbon. First, it is not compatible with all operating systems. Second, it does not have all of the features of C++. Third, it is not as widely used as C++. Finally, it is still in development and has not been released yet.

These drawbacks may seem like deal breakers, but they don’t necessarily mean that Carbon is not the right successor to C++. First, while Carbon is not compatible with all operating systems, it is compatible with the most popular ones. Second, while it does not have all of the features of C++, it has the most important ones. Third, while it is not as widely used as C++, it is gaining popularity rapidly. Finally, while it is still in development, it is expected to be released soon.

What Is Carbon?
Carbon is a statically typed systems programming language developed by Google. It is based on C++ and shares a similar syntax. However, Carbon introduces several new features that make it better suited for parallelism. For example, Carbon provides first-class support for threads and synchronization primitives. It also offers a number of built-in data structures that are designed for concurrent access. Finally, Carbon comes with a toolchain that makes it easy to build and debug parallel programs.

Why Was Carbon Created?
Google’s primary motivation for developing Carbon was to improve the performance of its search engine. To do this, they needed a language that could take advantage of multicore processors and GPUs. C++ was not well suited for this purpose because it lacked support for threading and synchronization. As a result, Google decided to create their own language that would be purpose-built for parallelism.

Is Carbon The Right Successor To C++?
In many ways, yes. Carbon addresses many of the shortcomings of C++ when it comes to parallelism. However, there are some drawbacks. First, Carbon is still in its infancy and lacks many of the features and libraries that have made C++ so popular over the years. Second, because it is designed specifically for parallelism, it may be less suitable for other purposes such as embedded systems programming or network programming. Overall, though, Carbon looks like a promising successor to C++ and is worth keeping an eye on in the future.

Conclusion:
So, is Google’s new Carbon programming language the right successor to C++? We think that Google’s Carbon programming language has the potential to be a great successor to C++.

With its garbage collection, better support for concurrency, and modern standard library, Carbon has everything that today’s programmer needs.

It is designed to be more reliable and easier to use than its predecessor. In addition, it is faster and can be used for a variety of applications. However, there are some drawbacks to using Carbon that should be considered before making the switch from C++.

So if you’re looking for a new language to learn, we recommend giving Carbon a try.

Programming paradigms 2022-2023

Programming paradigms are a way to classify programming languages based on their features. Languages can be classified into multiple paradigms.

Achieve AWS Solutions Architect Associate Certification with Confidence: Master SAA Exam with the Latest Practice Tests and Quizzes illustrated

Some paradigms are concerned mainly with implications for the execution model of the language, such as allowing side effects, or whether the sequence of operations is defined by the execution model. Other paradigms are concerned mainly with the way that code is organized, such as grouping a code into units along with the state that is modified by the code. Yet others are concerned mainly with the style of syntax and grammar.

Common programming paradigms include:

  • imperative in which the programmer instructs the machine how to change its state,
    • procedural which groups instructions into procedures,
    • object-oriented which groups instructions with the part of the state they operate on,
  • declarative in which the programmer merely declares properties of the desired result, but not how to compute it
    • functional in which the desired result is declared as the value of a series of function applications,
    • logic in which the desired result is declared as the answer to a question about a system of facts and rules,
    • mathematical in which the desired result is declared as the solution of an optimization problem
    • reactive in which the desired result is declared with data streams and the propagation of change

Six programming paradigms that will change how you think about coding

 


Ace the AWS Certified Machine Learning Specialty Exam with Confidence: Get Your Hands on the Ultimate MLS-C01 Practice Exams!

Practice Carbon Programming Language at Hackerrank or LeetCode or FreeCodeCamp

Leetcode and HackerRank coding tests don’t work in developer interviews.

Here’s the proof:

Research has shown that work sample tests are VERY effective at determining if someone will we a good fit for a job. But here’s the problem: Work sample tests require applicants to perform tasks or work activities that mirror the tasks employees perform on the job.

When was the last time you had to “reverse an integer” or “find the longest substring without repeating characters”. These types of tests don’t mirror the tasks that software developers perform on the job.

It’s like testing an architect by having them build a house out of playing cards. Leetcode problems are just brain teasers.

If you want to administer a work sample test, have them do a code review, build a tiny feature in your product, or read and explain some part of your product code. (Every developer knows 90% of your time is spent reading code.)

Developers are tired of Leetcode interviews. It’s time to stop wasting everyone’s time.

If you are looking for an all-in-one solution to help you prepare for the AWS Cloud Practitioner Certification Exam, look no further than this AWS Cloud Practitioner CCP CLFC01 book below.


Source: https://www.opm.gov/policy-data-oversight/assessment-and-selection/other-assessment-methods/work-samples-and-simulations/

Malbolge 2022 2023

Brooks Otterlake on Twitter: "In case you're curious, this is what a Hello  World program looks like in Malbolge. This is the code you would write to  display the words "Hello World"

"Become a Canada Expert: Ace the Citizenship Test and Impress Everyone with Your Knowledge of Canadian History, Geography, Government, Culture, People, Languages, Travel, Wildlife, Hockey, Tourism, Sceneries, Arts, and Data Visualization. Get the Top 1000 Canada Quiz Now!"


RegEx is just Malbolge for Strings:

r/ProgrammerHumor - RegEx is just Malbolge for strings

What is the hardest programming language? For me, I say C++, C, and Malbolge. Out of all of these, Malbolge is the hardest

Replit Mobile App:  Code on Android and iOS.

Z-Library. The world’s largest ebook library

Top 50 Programming Languages Ranked by the Number of Influenced Languages

Top 50 Programming Languages Ranked by the Number of Influenced Languages
Top 50 Programming Languages Ranked by the Number of Influenced Languages

Programming Breaking News and Quiz

What are the Greenest or Least Environmentally Friendly Programming Languages?

Invest in your future today by enrolling in this Azure Fundamentals - Pass the Azure Fundamentals Exam with Ease: Master the AZ-900 Certification with the Comprehensive Exam Preparation Guide!

Microsoft Azure AZ900 Certification and Training

How do we know that the Top 3 Voice Recognition Devices like Siri Alexa and Ok Google are not spying on us?

What are popular hobbies among Software Engineers?

How do you make a Python loop faster?

How do you make a Python loop faster?

You can translate the content of this page by selecting a language in the select box.

Pass the 2023 AWS Cloud Practitioner CCP CLF-C01 Certification with flying colors Ace the 2023 AWS Solutions Architect Associate SAA-C03 Exam with Confidence Pass the 2023 AWS Certified Machine Learning Specialty MLS-C01 Exam with Flying Colors

How do you make a Python loop faster?

Programmers are always looking for ways to make their code more efficient. One way to do this is to use a faster loop. Python is a high-level programming language that is widely used by developers and software engineers. It is known for its readability and ease of use. However, one downside of Python is that its loops can be slow. This can be a problem when you need to process large amounts of data. There are several ways to make Python loops faster. One way is to use a faster looping construct, such as C. Another way is to use an optimized library, such as NumPy. Finally, you can vectorize your code, which means converting it into a format that can be run on a GPU or other parallel computing platform. By using these techniques, you can significantly speed up your Python code.

According to Vladislav Zorov, If not talking about NumPy or something, try to use list comprehension expressions where possible. Those are handled by the C code of the Python interpreter, instead of looping in Python. Basically same idea like the NumPy solution, you just don’t want code running in Python.

Achieve AWS Solutions Architect Associate Certification with Confidence: Master SAA Exam with the Latest Practice Tests and Quizzes illustrated

Example: (Python 3.0)

lst = [n for n in range(1000000)]
def loops():
    newlst = []
    for n in lst:
        newlst.append(n * 2)
    return newlst
def lstcomp():
    return [n * 2 for n in lst]
from timeit import timeit
print(timeit(loops, number=100))
#18.953254899999592 seconds
print(timeit(lstcomp, number=100))
#11.669047399991541 seconds
Or Do this in Python 2.0

How do you make a Python loop faster?
How do you make a Python loop faster?

Python list traversing tip:

Instead of this: for i in range(len(l)): x = l[i]

Use this for i, x in enumerate(l): …

TO keep track of indices and values inside a loop.

Twice faster, and the code looks better.

Another option is to write loops in C instead of Python. This can be done by using a Python extension module such as pyximport. By doing this, programmers can take advantage of the speed of C while still using the convenient syntax of Python.

Finally, developers can also improve the performance of their code by making use of caching. By caching values that are computed inside a loop, programmers can avoid having to recalculate them each time through the loop. By taking these steps, programmers can make their Python code more efficient and faster.

Very Important: Don’t worry about code efficiency until you find yourself needing to worry about code efficiency.

The place where you think about efficiency is within the logic of your implementations.

This is where “big O” discussions come in to play. If you aren’t familiar, here is a link on the topic

What are the top 10 Wonders of computing and software engineering?


Ace the AWS Certified Machine Learning Specialty Exam with Confidence: Get Your Hands on the Ultimate MLS-C01 Practice Exams!

How do you make a Python loop faster?
What are the top 10 most insane myths about computer programmers?

Programming, Coding and Algorithms Questions and Answers

Do you want to learn python we found 5 online coding courses for beginners?

Python Coding Bestsellers on Amazon

https://amzn.to/3s3KXc3

https://coma2.ca

The Best Python Coding and Programming Bootcamps

We’ve also included a scholarship resource with more than 40 unique scholarships to provide additional financial support.

Python Coding Bootcamp Scholarships

Python Coding Breaking News

  • map() is almost always slower than any other methods of iteration, why is it still in Python?
    by /u/vantanike (Python) on February 6, 2023 at 12:17 am

    Why is the built-in map() still in Python? It’s generally slower than a for-loop when used to call functions, while list comprehensions/generator expressions can do whatever it does and better. The only time I’ve seen map() do anything faster is map(int, array_of_floats). Realising this fact has ruined Python’s elegant image for me. Am I missing something here? Benchmarked on Python 3.11.0 ``` from timeit import timeit do = lambda i: i+1 def _for(): for i in range(1000): do(i) def _map(): list(map(do, range(1000))) print(timeit(_for, number=100000)) # 3.8093080520047806 print(timeit(_map, number=100000)) # 4.025722629994561 ``` submitted by /u/vantanike [link] [comments]

  • Monday Daily Thread: Project ideas!
    by /u/Im__Joseph (Python) on February 6, 2023 at 12:00 am

    Comment any project ideas beginner or advanced in this thread for others to give a try! If you complete one make sure to reply to the comment with how you found it and attach some source code! If you're looking for project ideas, you might be interested in checking out Al Sweigart's, "The Big Book of Small Python Projects" which provides a list of projects and the code to make them work. submitted by /u/Im__Joseph [link] [comments]

  • Why is Python CPU usage alternating between logical processors?
    by /u/Timo2727 (Python) on February 5, 2023 at 11:43 pm

    When running my Python Mandelbrot generator, I observe 4 of my 16 Logical Processors working on the task in Resource Monitor. This is odd because I thought Python only uses 1 logical processor unless you explicitly code for multithreading. But the weirdest part is that the CPU usage of the individual Logical Processors seem to be alternating from one another like a mirror, as you can see from this image: Alternating CPU usage on Logical Processors. Red lines indicate start/finish of task What is going on? I have an AMD Ryzen 7 3700x desktop processor submitted by /u/Timo2727 [link] [comments]

  • Particle Life Simulator -- Based off gravity physics
    by /u/BryBryBe (Python) on February 5, 2023 at 10:11 pm

    I have been working on a particle life simulator recently in python3 and turtle graphics and this is my first version: https://github.com/bebebeee/Particle-Life-Physics-Simulator If your computer is slow, I recommend running the files I already have in the downloads, before you simulate your own world (it takes some time). Enjoy! submitted by /u/BryBryBe [link] [comments]

  • AutoFake for Python
    by /u/agusdmb (Python) on February 5, 2023 at 9:36 pm

    I recently released my first Python package and am eager for feedback from the Python community. I developed this library while working on a legacy code project that required testing and refactoring for improved structure. Please check it out at https://github.com/agusdmb/autofake and let me know what you think! Thank you for your time and consideration. submitted by /u/agusdmb [link] [comments]

  • Has anybody tried using Prisma in Python n production?
    by /u/deepaerial (Python) on February 5, 2023 at 7:12 pm

    Some of you I think heard about Prisma ORM that gained a lot of popularity (or maybe more of a hype) in Javascript/Typescript world recently. I was suprised that there is Python library that allows to interact with Prisma and became curious if somebody tried using it at work projects. Does anybody here tried using it on production or at work in general? submitted by /u/deepaerial [link] [comments]

  • I made my 3D rendering Tkinter App 6 times faster using Numba
    by /u/radixties (Python) on February 5, 2023 at 6:44 pm

    Backstory: This was my first "real" project ever (well, not this current version of it), and it did accumulate a dozen forks over the years, as well as some starts. The reason I keep getting back to this project, specifically, is that they say "if you don't cringe on your old code, you're not evolving.", and each time someone likes it or forks it, I think about the things I could fix/improve for them to hopefully better learn from it (I learn from reading other peoples' code mainly). Last time I rewrote it, it was to migrate it from non-OOP to OOP, and I did post about it in here (post link: https://www.reddit.com/r/Python/comments/q9eark/i_rewrote_my_own_3d_rendering_desktop_app_from/) Technical details I used to do the object transformation (X, Y, Z rotation, and displacement) using Numpy's matmul(), but I thought I could speed up that by writing a non-general-purpose matmul, and accelerate it using jit compilation (just in time) with Numba, which did indeed give me a 6x speed up. The bottleneck now is the actual drawing of faces on the tkinter canvas, which is taking, ironically, around 6x the object transformation time. Bonus improvements: - I'm now using a great looking theme that makes tkinter do actually look great - There's a toggle for continuous rotation on each given axis - Scrolling in/out on the canvas would zoom in/out the object - Canvas' size is dynamic, and the object is always kept in the middle of the canvas (well, trying to stay in the middle) Project link: https://github.com/Rad-hi/3D-Rendering-Desktop-App. Notes This project was never intended to be a 3D renderer, if you need one, go download blender! This was just a fun sounding project (I like linear algebra), and an opportunity for me to explore the world of computer graphics. submitted by /u/radixties [link] [comments]

  • BEM Methodology: Class Compositions with Modifiers
    by /u/WoodenIndependent626 (Python) on February 5, 2023 at 6:36 pm

    Have you ever struggled with keeping your code modular and maintainable, especially when working on larger projects? If so, I want to introduce you to bempy, a Python library for building complex classes using the BEM (Block-Element-Modifier) methodology. https://github.com/fefa4ka/bempy With bempy, you can define Blocks, Elements, and Modifiers using simple and easy-to-use syntax. The library also supports inheritance and automatic documentation extraction, making it simple to understand and maintain large projects. The BEM methodology encapsulates the appearance, logic, and content of a component into distinct Blocks, making it easy to reuse and modify without affecting the rest of the application. Each block can be combined with other blocks to create complex structures, making it easier for developers to collaborate on a project. blocks/ myblocks/ ComplexBlock/ _mod/ minimal.py cheap.py extended.py __init__.py You can export and build the block. To build a ComplexBlock with the minimal modificator, you can do: from bempy.myblocks import ComplexBlock MinimalComplexBlock = ComplexBlock(mod='minimal') complex_instance = MinimalComplexBlock( basic_arg='hello', minimal_mod_arg='world' ) In this example, MinimalComplexBlock = ComplexBlock(mod='minimal') is the construction of a complex class with the specified modificator. And MinimalComplexBlock(...) is creating an instance of the defined block. Don't let complex projects stress you out any longer! Let me know your thoughts and experiences with bempy in the comments! submitted by /u/WoodenIndependent626 [link] [comments]

  • Introducing: Pathfinding Visualiser
    by /u/_Tauseef (Python) on February 5, 2023 at 6:07 pm

    Hi everyone, I'm so excited to share my project with you all, a Pathfinding Visualiser that supports 5 different algorithms (BFS, DFS, A* Search, Dijkstra’s search, and greedy best first search) and 3 Maze generation algorithms (randomised Prim’s algorithm, randomised dfs and recursive division). I built this tool using Python and Pygame, and it was a great learning experience for me. I wanted to create a visual representation of these pathfinding algorithms. It's a great way to experiment with different algorithms and see the results in real-time. So, if you're interested in pathfinding algorithms, or if you're just looking for a fun project to work on, give it a try! I'd love to hear your thoughts and feedback. Here's a link to the repository: Project Link Thanks for your time, and happy coding! python #pygame #pathfinding #visualisation submitted by /u/_Tauseef [link] [comments]

  • Python Certifications: Are they worth it? Which would you recommend?
    by /u/MasiTheDev (Python) on February 5, 2023 at 4:25 pm

    Title says it all. I want to know if it's advantageous to get one or more certs in Python. I have 2 years of experience with Python which is quite a small amount by itself, so I want to make sure employers know I'm capable of doing certain stuff and get an advantage. Especially since I want to move out of my country and getting a visa sponsorship is hard. Which ones are there and which ones do you recommend? Are they worth it? submitted by /u/MasiTheDev [link] [comments]

  • How to make a TEXT EDITOR using tkinter
    by /u/ErenDAyeager (Python) on February 5, 2023 at 4:05 pm

    submitted by /u/ErenDAyeager [link] [comments]

  • Implementing Netflix-like Skip-intro feature using video processing
    by /u/ASarcasticUsername (Python) on February 5, 2023 at 3:41 pm

    I've long been interested in how Netflix implemented their Skip Intro feature, so I created a python library to find similar portions in a list of videos. Implementing on the front-end Just like the above gif, after analyzing, the similar portions can then be passed to the frontend and skipped. It's still a WIP, so suggestions and PRs welcome. ​ Blog post: https://dev.to/jahwi/skipping-to-the-good-parts-implementing-netflixs-skip-intro-feature-with-python-video-processing-3gh5 ​ Github Repo: https://github.com/jahwi/similar-vid submitted by /u/ASarcasticUsername [link] [comments]

  • Standardized, Python based Block Diagram File Format for Dynamic Modeling as an Open Source Alternative to Matlab and Simulink
    by /u/kienapppel (Python) on February 5, 2023 at 3:36 pm

    I'm an engineering student from Germany. Whenever we do data analysis or modeling of dynamic systems, the suggested tool by the professors will almost always be Matlab and Simulink, with Python (especially Jupyter Notebooks) gaining more relevance for data analysis recently. Simulink is a tool for creating graphical block diagrams to model dynamic systems. A block diagram consists of blocks with inputs and outputs. Blocks can be connected to each other in any arrangement and can be selected from a library. Alternatively, a block can consist of any Matlab function. The results of the simulation can be read from an arbitrary point in the block diagram. This can be used to model mechanical systems, electric circuits, signal processing, or any other dynamic system. Simulink converts the block diagram into a system of differential equations and solves them numerically using Matlab. Simulink is a very useful tool. Not only for modeling systems but also for communicating them to others with the graphical block diagram and for code generation. According to my professors and some research I did, Matlab and Simulink are commonly used in the industry. The problem is, Matlab and Simulink are very proprietary. In episode 201 of "Talk Python to me", a Professor of Portland Community College stated that with the costs of Matlab licenses, the College could instead open up a new position to add a new lecture to the curriculum. Simulink is also a heavyweight application that can not be easily implemented on a new operating system or CPU architecture, and it has limited compatibility with external programming languages. There are some existing alternatives to Simulink. For example proprietary products like Wolfram SystemModeler and Collimator (Python based) and some niche open-source software like OpenModelica and Xcos. When it comes to data analysis and visualization, Python is a very capable alternative to proprietary software like Matlab or Mathematica. Jupyter Notebooks can be great interactive computational reports for education or to communicate data. Wouldn't it be great to have a similar 'notebook' format for the interactive modeling of dynamic systems? This notebook format could be a derivative of the Jupyter Notebook. The notebook would consist of a graphical block diagram with markups. Blocks could be imported and shared or created as simple python functions. There could be a very simple base solver, that identifies the blocks that are only dependent on time, and then iterates over the system with a fixed time step. More sophisticated solvers could be developed and shared independently. For example, there could be a solver that utilizes SymPy and tries to solve the system symbolically. The Jupyter Notebook supports different programming languages. Maybe that would be possible for the 'Block Diagram Notebook' as well. If blocks written in an external language could be included in the block diagram, the code generation step could be eliminated from the development process in some cases. if you are modeling a mechanical system with a microcontroller, the block diagram could include the original C code of the microcontroller, instead of some translated version of it. I know that many people have asked for an open-source alternative to Simulink before. There is also the SimuPy Module by Benjamin Margolis, which can be used to create and simulate block diagrams programmatically in Python. However, it doesn't include a graphical block diagram. I don't know if this idea is great, stupid, completely redundant, or viable. From my perspective and with the limited experience I have in engineering, an open-source notebook format like this would be very useful for education and possibly in the industry as well. Please give me your feedback. submitted by /u/kienapppel [link] [comments]

  • Distributed Inference - Apply Deep Learning to WebRTC video frames w/Redis Streams
    by /u/adalkiran (Python) on February 5, 2023 at 3:26 pm

    I’m so excited to show my another open-source project here. It is a PoC project. You can find it at: https://github.com/adalkiran/distributed-inference Distributed Inference is a project to demonstrate an approach to designing cross-language and distributed pipeline in deep learning/machine learning domain, using WebRTC and Redis Streams. This project consists of multiple services, which are written in Go, Python, and TypeScript, running on Docker. It allows setting up multiple inference services in multiple host machines, in a distributed manner. It does RPC-like calls and service discovery via my other open-source projects, go-inventa and py-inventa, you can find them in my profile too. Also includes a monitoring stack configuration using Grafana, InfluxDB, Telegraf, and Prometheus. The main idea is: - Webcam video will be streamed to the Media Bridge service via WebRTC, - Media Bridge service will capture frame images from the video as JPEG images, pushes them to Redis Streams, - One of available Inference services will pop a JPEG image data from Redis Streams stream, execute YOLOX inference model, push detected objects' name, box coordinates, prediction score, and resolution to other Redis Streams stream, - The Signaling service listens and consumes the Redis Streams stream (predictions), sends the results to relevant participant (by participantId in the JSON) via WebSockets. - Web client will draw boxes for each prediction, and writes results to the browser console. Please check it out and I’d love to read your thoughts! submitted by /u/adalkiran [link] [comments]

  • Python DataClasses - Object-Oriented Programming made easier and better
    by /u/Arli84 (Python) on February 5, 2023 at 2:51 pm

    Hello, I recently moved from standard Object-Oriented Programming Classes to DataClasses and I only do OOP this way now. It makes Python an easier and safer place for OOP. The article is pretty simple and will give you great foundations: The Next Big Thing in Python: DataClasses submitted by /u/Arli84 [link] [comments]

  • If you've been affected by layoffs, register on reverse jobs boards
    by /u/automadev (Python) on February 5, 2023 at 11:21 am

    For anyone who got laid off - make sure you register on reverse jobs boards to automate your job search somewhat (sites where companies apply to you). They've got me a ton of interviews in the past with zero effort and are basically just "set and forget", and they're all free. The ones I know of:- PythonDevs - Python dev specific hired.com - For all software devs Honeypot - For all software devs (Europe only) hackajob - For all software devs LinkedIn also if you don't mind recruiter spam (spend time making your profile good and connect with every relevant recruiter under the sun) submitted by /u/automadev [link] [comments]

  • RecoverPy 2.0.0: Recover deleted or overwritten files from your terminal
    by /u/ThenChoice2 (Python) on February 5, 2023 at 11:10 am

    ​ https://i.redd.it/vseqbfwtrcga1.gif Repo: https://github.com/PabloLec/RecoverPy ​ Hi! ​ I recently released RecoverPy version 2.0.0 and wanted to share it with you. RecoverPy is a tool with Terminal User Interface to recover deleted and/or overwritten data from your terminal. ​ Version 1.0.0 was released probably around 2 years ago and I was quite amazed by how popular it got 🙂 The initial audience was people trying to recover lost files, but it stuck with hacking/forensics community, I even got to receive mails to appear in hacking magazines and blogs. That was quite unanticipated but I'm glad it's useful to other people 🙂 ​ I got the idea when I was a noobie coder and, among other flaws, didn't use any VC. I worked all day long on a script when instead of outputting my script execution to a file I... output my log file content into my script file, then bam, my script was gone. I searched for solutions to recover it, the thing is it was not just "deleted", the file was still present, but its content has been overwritten. So after some research, I found it was possible to recover it with mostly a combination of grep and dd. RecoverPy is just that, it uses grep and dd under the hood and eases the whole process. ​ So in the past few weeks (a few hours during past weekends) I worked on an entire TUI framework switch. Previously I used a dated, unmaintained Python TUI framework, finding a sexy and fresh one was quite difficult when I started the project :/ But months ago I sax the textual project and was amazed by the result. I was only waiting for some widgets to be available (I didn't want to reinvent to wheel) to jump into it. ​ Textual is just amazing honestly and I can only recommend it if you need a Python TUI framework. ​ I'd be happy to hear any feedback, issue, bug, etc. RecoverPy worked quite well on previous version, 1.5.2, the heavy rework may have introduced some new bugs. Furthermore, if you want to contribute you're also more than welcome! RecoverPy code is quite simple and textual TUI framework enables a modern asyncio workflow and I think, is a good playground if you want to step up. submitted by /u/ThenChoice2 [link] [comments]

  • Genetic Algorithm for Image Recreation
    by /u/Interriuso (Python) on February 5, 2023 at 8:31 am

    ​ Target image vs. my output GIF of the genetic algorithm iterating (gfycat link) I used Python to create a genetic algorithm from scratch that recreates a target image. Previous attempts at this problem have either resulted in grainy/pixelated results [1], lacked an initial population to qualify as a true genetic algorithm [2], or generated results that were highly abstract with few details of the target image [3]. A genetic algorithm is an optimization tool inspired by Darwin’s theory of evolution. The algorithm mimics the process of natural selection which chooses the fittest individuals from a population to create offspring and populate future generations. A genetic algorithm consists of several components: An initial population Fitness function Selection Criteria Crossover Mutation In my opinion, genetic algorithms are incredibly fun to create. This is because you get to tamper with "biological" variables and customize your own artificial natural selection process. With that said, they are rarely the best algorithm to employ [4]. In-depth Guide and Analysis Source Code submitted by /u/Interriuso [link] [comments]

  • Sunday Daily Thread: What's everyone working on this week?
    by /u/Im__Joseph (Python) on February 5, 2023 at 12:00 am

    Tell /r/python what you're working on this week! You can be bragging, grousing, sharing your passion, or explaining your pain. Talk about your current project or your pet project; whatever you want to share. submitted by /u/Im__Joseph [link] [comments]

  • How important is TDD and other testing tools and methodologies?
    by /u/inulienpw (Python) on February 4, 2023 at 7:47 pm

    I work for a fairly large company, but we don't use TDD or any testing tools. We have a QA department, but they don't use any testing tools, either. Before getting this job, I had about 6 interviews at other companies. If I remember correctly, only two of them asked about my experience with testing tools and TDD. I'm aware of all the technologies out there, including the ones available automatically in modern frameworks like Angular. I'm also aware of TDD and understand the concept, but I've never used it. TDD seems like a good idea, but kind of a waste of time. But I'm at a place I don't plan on sticking around for more than a year. However, I want to keep up with modern technologies so that when I start the job search again I'm more marketable. I'm wondering if investing time in learning TDD and other testing frameworks would be valuable. Thanks for your feedback and comments! submitted by /u/inulienpw [link] [comments]

If you are looking for an all-in-one solution to help you prepare for the AWS Cloud Practitioner Certification Exam, look no further than this AWS Cloud Practitioner CCP CLFC01 book below.


What are the top 10 most insane myths about computer programmers?

What are the top 10 most insane myths about computer programmers?

You can translate the content of this page by selecting a language in the select box.

Pass the 2023 AWS Cloud Practitioner CCP CLF-C01 Certification with flying colors Ace the 2023 AWS Solutions Architect Associate SAA-C03 Exam with Confidence Pass the 2023 AWS Certified Machine Learning Specialty MLS-C01 Exam with Flying Colors

What are the top 10 most insane myths about computer programmers?

Programmers are often seen as a eccentric breed. There are many myths about computer programmers that circulate both within and outside of the tech industry. Some of these myths are harmless misconceptions, while others can be damaging to both individual programmers and the industry as a whole.

 Here are 10 of the most insane myths about computer programmers:

1. Programmers are all socially awkward nerds who live in their parents’ basements.
2. Programmers only care about computers and have no other interests.
3. Programmers are all genius-level intellects with photographic memories.
4. Programmers can code anything they set their minds to, no matter how complex or impossible it may seem.
5. Programmers only work on solitary projects and never collaborate with others.
6. Programmers write code that is completely error-free on the first try.
7. All programmers use the same coding languages and tools.
8. Programmers can easily find jobs anywhere in the world thanks to the worldwide demand for their skills.
9. Programmers always work in dark, cluttered rooms with dozens of monitors surrounding them.
10. Programmers can’t have successful personal lives because they spend all their time working on code.”

Achieve AWS Solutions Architect Associate Certification with Confidence: Master SAA Exam with the Latest Practice Tests and Quizzes illustrated

Another Top 10 Myths about computer programmers  in details are:

Myth #1: Programmers are lazy.

This couldn’t be further from the truth! Programmers are some of the hardest working people in the tech industry. They are constantly working to improve their skills and keep up with the latest advancements in technology.

Myth #2: Programmers don’t need social skills.

While it is true that programmers don’t need to be extroverts, they do need to have strong social skills. Programmers need to be able to communicate effectively with other members of their team, as well as with clients and customers.

Myth #3: All programmers are nerds.

There is a common misconception that all programmers are nerdy introverts who live in their parents’ basements. This could not be further from the truth! While there are certainly some nerds in the programming community, there are also a lot of outgoing, social people. In fact, programming is a great field for people who want to use their social skills to build relationships and solve problems.

Myth #4: Programmers are just code monkeys.

Programmers are often seen as nothing more than people who write code all day long. However, this could not be further from the truth! Programmers are critical thinkers who use their analytical skills to solve complex problems. They are also creative people who use their coding skills to build new and innovative software applications.


Ace the AWS Certified Machine Learning Specialty Exam with Confidence: Get Your Hands on the Ultimate MLS-C01 Practice Exams!

Myth #5: Anyone can learn to code.

This myth is particularly damaging, as it dissuades people from pursuing careers in programming. The reality is that coding is a difficult skill to learn, and it takes years of practice to become a proficient programmer. While it is true that anyone can learn to code, it is important to understand that it is not an easy task.

Myth #6: Programmers don’t need math skills.

This myth is simply not true! Programmers use math every day, whether they’re calculating algorithms or working with big data sets. In fact, many programmers have degrees in mathematics or computer science because they know that math skills are essential for success in the field.

Myth #7: Programming is a dead-end job.

This myth likely comes from the fact that many people view programming as nothing more than code monkey work. However, this could not be further from the truth! Programmers have a wide range of career options available to them, including software engineering, web development, and data science.

Myth #8: Programmers only work on single projects.

Again, this myth likely comes from the outside world’s view of programming as nothing more than coding work. In reality, programmers often work on multiple projects at once. They may be responsible for coding new features for an existing application, developing a new application from scratch, or working on multiple projects simultaneously as part of a team.

Myth #9: Programming is easy once you know how to do it .

This myth is particularly insidious, as it leads people to believe that they can simply learn how to code overnight and become successful programmers immediately thereafter . The reality is that learning how to code takes time , practice , and patience . Even experienced programmers still make mistakes sometimes !

Myth #10: Programmers don’t need formal education

This myth likely stems from the fact that many successful programmers are self-taught . However , this does not mean that formal education is unnecessary . Many employers prefer candidates with degrees in computer science or related fields , and formal education can give you an important foundation in programming concepts and theory .

If you are looking for an all-in-one solution to help you prepare for the AWS Cloud Practitioner Certification Exam, look no further than this AWS Cloud Practitioner CCP CLFC01 book below.


Myth #11: That they put in immense amounts of time at the job

I worked for 38 years programming computers. During that time, there were two times that I needed to put in significant extra times at the job. The first two years, I spent more time to get acclimated to the job (which I then left at age of 22) with a Blood Pressure 153/105. Not a good situation. The second time was at the end of my career where I was the only person who could get this project completed (due to special knowledge of the area) in the timeframe required. I spent about five months putting a lot of time in.

Myth #12: They need to know advanced math

Some programmers may need to know advanced math, but in the areas where I (and others) were involved with, being able to estimate resulting values and visualization skills were more important. One needs to know that a displayed number is not correct. Visualization skills is the ability to see the “big picture” and envision the associated tasks necessary to make the big picture correctly. You need to be able to decompose each of the associated tasks to limit complexity and make it easier to debug. In general the less complex code is, the fewer errors/bugs and the easier it is to identify and fix them.

"Become a Canada Expert: Ace the Citizenship Test and Impress Everyone with Your Knowledge of Canadian History, Geography, Government, Culture, People, Languages, Travel, Wildlife, Hockey, Tourism, Sceneries, Arts, and Data Visualization. Get the Top 1000 Canada Quiz Now!"


Myth #13: Programmers remember thousands lines of code.

No, we don’t. We know approximate part of the program where the problem could be. And could localize it using a debugger or logs – that’s all.

Myth #14:  Everyone could be a programmer.

No. One must have not only desire to be a programmer but also has some addiction to it. Programming is not closed or elite art. It’s just another human occupation. And as not everyone could be a doctor or a businessman – as not everyone could be a programmer.

Myth #15: Simple business request could be easily implemented

No. The ease of implementation is defined by model used inside the software. And the thing which looks simple to business owners could be almost impossible to implement without significantly changing the model – which could take weeks – and vice versa: seemingly hard business problem could sometimes be implemented in 15 minutes.

Myth #16: Please fix <put any electronic device here>or setup my printer – you are a programmer! 

Yes, I’m a programmer – neither an electronic engineer nor a system administrator. I write programs, not fix devices, setup software or hardware!

As you can see , there are many myths about computer programmers circulating within and outside of the tech industry . These myths can be damaging to both individual programmers and the industry as a whole . It’s important to dispel these myths so that we can continue attracting top talent into the field of programming !

What are the top 10 most insane myths about computer programmers?
What are the top 10 most insane myths about computer programmers?

Invest in your future today by enrolling in this Azure Fundamentals - Pass the Azure Fundamentals Exam with Ease: Master the AZ-900 Certification with the Comprehensive Exam Preparation Guide!

Microsoft Azure AZ900 Certification and Training

Google’s Carbon Copy: Is Google’s Carbon Programming language the Right Successor to C++?

What are the Greenest or Least Environmentally Friendly Programming Languages?

What are popular hobbies among Software Engineers?

error: Content is protected !!